C语言每日一练冒泡排序

目录

题目描述

问题分析

代码实现

运行结果

过程疑问


题目描述

冒泡排序:使用键盘输入十个数字,使用冒泡排序法将十个数字从大到小排序并输出这十个数字。

问题分析

个人思路:刚开始时觉得先将相邻两个数字之间进行比较,将较大的数放在考前的位置,重复比较10*10次,可以实现从大到小数字的排列并输出这十个数字。

但在朋友的提醒下,说出了这个方法不是冒泡排序,冒泡排序在第一论比较结束之后必须决出最大的数字,由此推出,第二次需要决出第二个最大的数字。因此需要在第n次比较时,将第n大的数字放在第n位。

此外我的想法:再for循环中,m表示第几位,i可以表示从第几位开始,此前的数字已经从大到小排序好了,不用其他的一些操作。

代码实现

C语言每日一练冒泡排序_第1张图片

运行结果

C语言每日一练冒泡排序_第2张图片

过程疑问

我使用的软件是Microsoft visual studio,刚开始在编程的时候打算用C++语言编写,但是在编写过程中出现如下图一问题:后来使用纯C语言编程中又出现了如下图二问题,后来想到了C++的输入没问题,因此又改为了使用C++的输入,最后成功实现,有没有老板知道这个问题如何解决的。

图一:不记得第一次出现得问题是什么了,大致上是因为输出无法正确输出,问题使得无法调试,但是这个也有问题,明天有时间解决这个问题:

C语言每日一练冒泡排序_第3张图片

输出结果:

C语言每日一练冒泡排序_第4张图片

图二:代码如下:

C语言每日一练冒泡排序_第5张图片

问题如下:显示的是scanf已经被弃用了。

你可能感兴趣的:(c语言)