输入一些数字,将这些数字按照从小到大排序。(谭浩强 C 语言 第三版 112 页第 5.9 题 )
输入 4 个 整数,要求按由小到大的顺序输出。
由于我们当前只学习了 if else 和 switch 这样的选择结构语句,所以,我们可以用 if 来 两两比较,用第一个数和剩下的数进行比较,获取比较小的数,这样每次都能够获取到最小的数值。
#include <stdio.h>
void main()
{
printf("嗨客网(www.haicoder.net)\n\n");
int tempNum, a, b, c, d;
printf ("请输入 4 个整数,以逗号分隔:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("a = %d, b = %d, c = %d, d = %d\n", a, b, c, d);
if(a > b)
{
tempNum = a;
a = b;
b = tempNum;
}
if(a > c)
{
tempNum = a;
a = c;
c = tempNum;
}
if(a > d)
{
tempNum = a;
a = d;
d = tempNum;
}
if(b > c)
{
tempNum = b;
b = c;
c = tempNum;
}
if(b > d)
{
tempNum = b;
b = d;
d = tempNum;
}
if(c > d)
{
tempNum = c;
c = d;
d = tempNum;
}
printf("排序结果如下:\n");
printf("%d %d %d %d \n", a, b, c, d);
}
运行结果如图:
因为没有学习循环语句,所以这边可以将两个数据比较,所有的都比较一下,中间通过一个临时变量,将两个数据替换,从第一个数开始,往后面比较,每比较一次就会获取到剩下的数据中最小的一个数。