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

谁来帮帮我啊???... 谁来帮帮我啊??? 展开
 我来答
加百列windy
高粉答主

推荐于2019-08-04 · 每个回答都超有意思的
知道小有建树答主
回答量:2074
采纳率:100%
帮助的人:97.5万
展开全部

利用函数的模块化设计。

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

2、输入函数代码如下:

3、排序函数代码如下:

4、输出函数代码如下:

5、执行结果:

扩展资料:

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

执行结果同上。

小心_不在犯错
推荐于2019-10-09 · TA获得超过2万个赞
知道答主
回答量:52
采纳率:100%
帮助的人:2.5万
展开全部

#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;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
铃屋学姐
高粉答主

推荐于2019-10-25 · 关注我不会让你失望
知道答主
回答量:192
采纳率:72%
帮助的人:9.5万
展开全部

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

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

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

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

扩展资料:

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

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

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

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a6315eb
推荐于2019-10-15
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

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

解释:

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

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

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

扩展资料:

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

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

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

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2017-09-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450135
专业C/C++软件开发

向TA提问 私信TA
展开全部

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

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

代码:

#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]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式