有3个数a、b、c,要求按从大到小顺序把它们输出.用自然语言、传统流程图和N-S图表示求解的算法.
//简单的方法就是对三个数按大小排序。先将最小的数放到首位,如果发现有大内小顺序不对的,就将它容们交换位置。
#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;
}
例如:
实现思路,用伪代码写出解此题的算法:
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中的小者,也是三者中次小者)
扩展资料:
程序框图表示程序内各步骤的内容以及它们的关系和执行的顺序。它说明了程序的逻辑结构。框图应该足够详细,以便可以按照它顺利地写出程序,而不必在编写时临时构思,甚至出现逻辑错误。流程图不仅可以指导编写程序,而且可以在调试程序中用来检查程序的正确性。
如果框图是正确的而结果不对,则按照框图逐步检查程序是很容易发现其错误的。流程图还能作为程序说明书的一部分提供给别人,以便帮助别人理解你编写程序的思路和结构。
参考资料来源:百度百科-算法流程图
#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;
}
谢谢。谢谢。