【问题描述】对给定的4个整数进行排序,将由小到大的顺序输出。
【输入形式】一行中有4个整数,整数之间用空格分隔。
【输出形式】按升序输出,各整数之间用一个空格分隔,最后一位数后也要有空格。
【样例输入】25 314 18 27
【样例输出】18 25 27 314
【输入形式】一行中有4个整数,整数之间用空格分隔。
【输出形式】按升序输出,各整数之间用一个空格分隔,最后一位数后也要有空格。
【样例输入】25 314 18 27
【样例输出】18 25 27 314
【样例说明】在控制台输入25 314 18 27,输出结果是18 25 27 314。
int main()
{
int a[5], i, j, temp;
for(i = 0; i < 4; i++)
scanf("%d", &a[i]);
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4 - i - 1; j++)
{
if(a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(i =0; i < 4; i++)
{
printf("%d ", a[i]);
}
return 0;
通过冒泡排序进行升序输出,外边for每循环一次表示,把当前未排序好的最大数放在了后边,例如第一次当i = 0时,是把四个中最大的放在第四位,当i等于1时,是把四个中第三大的数放在第三位,依次循环,而第二个for的作用就是用于比较找出未排序好数中最大的那个,并把它放到相应的位置。