有3个数a、b、c,要求按大小顺序把它们输出(用C来写)
有3个数a、b、c,要求按大小顺序把它们输出(用C来写)请把答案写给我下!谢谢!这题我想了好就都写不出来!...
有3个数a、b、c,要求按大小顺序把它们输出(用C来写)请把答案写给我下!谢谢!这题我想了好就都写不出来!
展开
6个回答
展开全部
晕,这题C语言课本上有,你不会?我给你抄过来吧。
输入3个数a,b,c,要求按由小到大的顺序输出;
用伪代码写出解此题的算法:
if a>b 将a和b对换 (a是a,b中的小者)
if a>c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者)
if b>c 将b和c对换 (b是b,c中的小者,也是三者中次小者)
然后顺序输出a,b,c即可。
按此算法编写程序:
main()
{
float a,b,c,t;
scanf("%f,%f,%f",&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的互唤*/
if(b>c)
{t=b;b=c;c=t;] /*实现b和c的互换*/
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
运行情况如下:3,7,1 ↓
1.00,3.00,7.00
下面是我的点津:
3者比较就是两两比较综合处理,两两比较实现互换要通过中间变量t,即如果a>b,按从小到大排列则把a放在t中,然后把b放在a中,最后再把a取出放在b中,用C语言说就是赋职号=。按大小顺序排列只须把a>b,a>c,b>c改为a<b,a<c,b<c即可。
看了5楼的程序我有些惭愧,确实,程序就应该这么写,程序的好坏得看执行效率,自己只顾课本了。。。不过楼下好像写错了吧,题目是要求按大小顺序输出,不是输出最大值。这个题用条件表达式实现并不简练。还请楼下考虑一个可行的指教一下。多谢了。在下愚钝。
输入3个数a,b,c,要求按由小到大的顺序输出;
用伪代码写出解此题的算法:
if a>b 将a和b对换 (a是a,b中的小者)
if a>c 将a和c对换 (a是a,c中的小者,因此a是三者中最小者)
if b>c 将b和c对换 (b是b,c中的小者,也是三者中次小者)
然后顺序输出a,b,c即可。
按此算法编写程序:
main()
{
float a,b,c,t;
scanf("%f,%f,%f",&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的互唤*/
if(b>c)
{t=b;b=c;c=t;] /*实现b和c的互换*/
printf("%5.2f,%5.2f,%5.2f\n",a,b,c);
}
运行情况如下:3,7,1 ↓
1.00,3.00,7.00
下面是我的点津:
3者比较就是两两比较综合处理,两两比较实现互换要通过中间变量t,即如果a>b,按从小到大排列则把a放在t中,然后把b放在a中,最后再把a取出放在b中,用C语言说就是赋职号=。按大小顺序排列只须把a>b,a>c,b>c改为a<b,a<c,b<c即可。
看了5楼的程序我有些惭愧,确实,程序就应该这么写,程序的好坏得看执行效率,自己只顾课本了。。。不过楼下好像写错了吧,题目是要求按大小顺序输出,不是输出最大值。这个题用条件表达式实现并不简练。还请楼下考虑一个可行的指教一下。多谢了。在下愚钝。
参考资料: C语言程序设计(第二版)
2006-03-14
展开全部
main()
{
int a,b,c,t;
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;};
if(b<c)
{t=b;b=c;c=t;};
printf("%d,%d,%d",a,b,c);
}
{
int a,b,c,t;
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;};
if(b<c)
{t=b;b=c;c=t;};
printf("%d,%d,%d",a,b,c);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("%d",a>(b>c? b:c)? a:(b>c? b:c));
}
main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("%d",a>(b>c? b:c)? a:(b>c? b:c));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int a,b,c,x;
scanf("%d %d %d",&a,&b,&c);
if(a>b){x=a;a=b;b=x;}
if(a>c){x=a;a=c;c=x;}
if(b>c){x=b;b=c;c=x;}
printf("%d %d %d\n",a,b,c);
return 0;
}
int main()
{
int a,b,c,x;
scanf("%d %d %d",&a,&b,&c);
if(a>b){x=a;a=b;b=x;}
if(a>c){x=a;a=c;c=x;}
if(b>c){x=b;b=c;c=x;}
printf("%d %d %d\n",a,b,c);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上做的很好!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询