运用C语言可以采用 依次比较 的方法比较其大小顺序。
#includeint main() { int a, b, c; int t; printf("输入三个数字:"); scanf_s("%d,%d,%d",&a, &b, &c); //输入三个数字逗号隔开 //比较大小,进行排序 if (a < b) { t = a; a = b; b = t; } if (a < c) { t = a; a = c; c = t; } if (b < c) { t = b; b = c; c = t; } //输出结果 printf("排序后的结果是:%d,%d,%d", a, b, c); return 0;
输入三个数字:28,88,66 排序后的结果是:88,66,28
可当要排序的数据变多之后,代码会显得繁多,可以采用更为简洁方便的方式。
冒泡排序在学习了循环和数组之后,可以采用冒泡排序的方法。
冒泡排序:依次比较相邻的两个数,如果第一个比第二个小,就交换他们两个直到无法再排序。
因此,大的数就会像水里的气泡一样浮到最上端,实现排序的功能。
代码如下:
#includeint main() { int i,j; int a[3] = {22,88,66}; //输入三个数字 for (i = 0;i < 3;i++) //外层循环 { for (j = 0;j < 3 - i;j++) //内层循环 { if(a[j] int t = a[j]; //互换位置 a[j] = a[j + 1]; a[j + 1] = t; } } } printf("排序后的结果是:"); for (int i = 0; i < 3; i++)//遍历 { printf("%3d",a[i]); //在输出函数里的格式中百分号后面添加一个数字,表示空格,输出后更为直观。 } return 0; }
输入三个数字:28,88,66 排序后的结果是:88 66 28
其核心为利用循环比较数据大小,交换数据,实现排序。
for (i = 0;i < n;i++) //n为数据个数
{
for (j = 0;j < n - i;j++)
{
if(a[j]
int t = a[j]; //互换位置
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
要实现从小到大排序,可以将比较大小中的" < “改为” > "。



