C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?

谁来帮帮我啊???

利用函数的模块化设计。

1、完成整体函数格局,输入、排序、输出。

2、输入函数代码如下:

3、排序函数代码如下:

4、输出函数代码如下:

5、执行结果:

扩展资料:

利用数组和循环结构实现排序功能,具体代码如下:

执行结果同上。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-10-09

#include<stdio.h>

int main()

{

int t,a,b,c,d;

printf("请输入4个数:");

scanf("%d,%d,%d,%d",&a,&b,&c,&d);

if (a > b)

{

t = a;

a = b;

b = t;

}

if (a > c)

{

t = a;

a = c;

c = t;

}

if (a > d)

{

t = a;

a = d;

d = t;

}

if (b > c)

{

t = b;

b = c;

c = t;

}

if (b > d)

{

t = b;

b = d;

d = t;

}

if (c > d)

{

t = c;

c = d;

d = t;

}

printf("由小到大输出:%d %d %d %d\n",a,b,c,d);

return 0;

}

本回答被网友采纳
第2个回答  推荐于2019-10-25

一、冒泡排序,代码和运行结果如图所示。

重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。

二、选择排序,代码和运行结果如图所示。

思想:选择排序,让数组中的每一个数,依次与后面的数进行比较,如果前面的数大于后面的数,就进行位置的交换。换个说法,选择排序:第一个数依次与后面的数比较,第一次比较完之后最小的数在最前面 。

扩展资料:

冒泡排序算法的原理如下:

1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

参考资料:百度百科——冒泡排序

本回答被网友采纳
第3个回答  推荐于2019-10-15

使用冒泡排序法进行编程:

解释:

1.第一个for循环:利用数组循环输入4个变量。

2.第二个for循环:该循环的意思是如果a[0]>a[1]的话,两个变量的值交换,利用循环依次比较。要注意的是i<3,因为其中有i+1,i最大取到2,也就是i+1最大取到3才正确。

3.第三个for循环:利用循环依次输出排序后的数组,每输出一个加一个空格以便于区分。

扩展资料:

冒泡排序法,从数组头部开始,不断比较相邻的两个元素的大小,通过交换两个元素的值使较大的元素逐渐往后移动,直到数组的末尾。

经过第一轮的比较,就可以找到最大的元素,并将它移动到最后一个位置。第一轮结束后,继续第二轮。仍然从数组头部开始比较,让较大的元素逐渐往后移动,直到数组的倒数第二个元素为止。

经过第二轮的比较,就可以找到次大的元素,并将它放到倒数第二个位置。

以此类推,进行 n-1(n 为数组长度)轮“冒泡”后,就可以将所有的元素都排列好。

本回答被网友采纳
第4个回答  推荐于2017-09-04

将四个数存到数组中,然后排序即可。

排序后,再利用循环输出。

代码:

#include <stdio.h>
int main()
{
    int a[4],i,j;
    for(i = 0; i < 4; i ++)
        scanf("%d",&a[i]);
    for(i = 0; i < 3; i ++)
        for(j = i+1; j < 4; j ++)
        {
            int t;
            if(a[i]>a[j])
            {
                t = a[i];
                a[i] = a[j];
                a[j] = t;
            }
        }
    for(i = 0; i < 4; i ++)
        printf("%d,",a[i]);
}

相似回答