急求C语言答案,题目:有三个数a,b,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函数
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);
}
是要用传统图表示.程序我会的
你是说用流程图表示吧
#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;}
if(a<c) {temp=a;a=c;c=temp;}
if(b<c) {temp=b;b=c;c=temp;}
printf("由大到小排列为:%d %d %d\n",a,b,c);
}