问:有3个数a,b,c,要求按大小顺序把它们输出。(C语言、传统流程图)

如题所述

一、实现思路,用伪代码写出解此题的算法:

1、if a>b 将a和b对换 (a是a,b中的小者)。

2、if a>c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者)。

3、if b>c 将b和c对换 (b是b,c中的小者,也是三者中次小者)。

二、实现代码如下:

三、执行结果如下:

3者比较就是两两比较综合处理,两两比较实现互换要通过中间变量t,即如果a>b,按从小到大排列则把a放在t中,然后把b放在a中,最后再把a取出放在b中,用C语言说就是赋职号=.按大小顺序排列只须把a>b,a>c,b>c改为a

四、传统流程图如下:

扩展资料

函数 IF 的参数包含数组( 用于建立可生成多个结果或可对在行和列中排列的一组参数进行运算的单个公式。数组区域共用一个公式;数组常量是用作参数的一组常量),则在执行 IF 语句时,数组中的每一个元素都将计算。

#include<stdio.h>

void main()

{

int a,b,c,t;

printf("请依次输入a,b,c:");

scanf("%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("按从小到大的顺序输出a=%d,b=%d,c=%d\n",a,b,c);

}

参考资料:百度百科 IF函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-13

//简单的方法就是对三个数按大小排序。先将最小的数放到首位,如果发现有大小顺序不对的,就将它们交换位置。

#include<stdio.h>

int main()

{

int a,b,c,t;

printf("请输入三个整数:");

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

if(a>b){t=a; a=b; b=t;} //a与b若大小顺序不对,就交换位置

if(a>c){t=a; a=c; c=t;} //a与c若大小顺序不对,就交换位置;到此a肯定是最小

if(b>c){t=b; b=c; c=t;} //b与c若大小顺序不对,就交换位置;到此c肯定是最大

printf("这三个数从小到大排列是:%d %d %d\n",a,b,c);

getch();

return 0;

}

第2个回答  2018-12-14

一、实现思路,用伪代码写出解此题的算法:

1、if a>b 将a和b对换 (a是a,b中的小者)。

2、if a>c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者)。

3、if b>c 将b和c对换 (b是b,c中的小者,也是三者中次小者)。

二、实现代码如下:

三、执行结果如下:

三、传统流程图如下:

扩展资料:

功能实现总结:

3者比较就是两两比较综合处理,两两比较实现互换要通过中间变量t,即如果a>b,按从小到大排列则把a放在t中,然后把b放在a,,最后再把a取出放在b中。

用C语言说就是赋职号=,按大小顺序排列只须把a>b、a>c、b>c改为a。

第3个回答  2015-10-13

//简单的方法就是对三个数按大小排序。先将最小的数放到首位,如果发现有大小顺序不对的,就将它们交换位置。

#include<stdio.h>

int main()

{

int a,b,c,t;

printf("请输入三个整数:");

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

if(a>b){t=a; a=b; b=t;} //a与b若大小顺序不对,就交换位置

if(a>c){t=a; a=c; c=t;} //a与c若大小顺序不对,就交换位置;到此a肯定是最小

if(b>c){t=b; b=c; c=t;} //b与c若大小顺序不对,就交换位置;到此c肯定是最大

printf("这三个数从小到大排列是:%d %d %d\n",a,b,c);

getch();

return 0;

}

本回答被网友采纳
第4个回答  2012-06-04
#include<stdio.h>
main()
{
int a,b,c,temp;
scanf("%d %d %d",&a,&b,&c);
if(a<b) {temp=a;a=b;b=temp;}
else if(b<c) {temp=b;b=c;c=temp;}
else if(a<c) {temp=a;a=c;c=temp;}
printf("由大到小排列为:%d %d %d\n",a,b,c);
}
相似回答