永发信息网

问一个C语言的问题?请大虾们帮帮忙~

答案:2  悬赏:0  手机版
解决时间 2021-05-05 08:39
  • 提问者网友:寂寞梧桐
  • 2021-05-05 05:51

题目是:让程序从小到大排列3个数

这是我自己写的:

main(){

int a,b,c;
printf("Input three number:");
scanf("%d%d%d",&a,&b,&c);
if (a>b)
printf("%d\",b);
else
printf("%d\",a);
if (a>c)
printf("%d\",c);
else
printf("%d\",a);
if (b>c)
printf("%d\",c);
else
printf("%d\",b);

}

这是答案写的:

main(){

int a,b,c,temp;

.....

答案就是用一个 temp架桥

而我就是想只用这三个数判断

不用其他的东西 架桥

谁有更好的方法吗?

或者我写的那东东怎么改才对呢?

不改变我的本意就是不用(temp之类的东西)

谢谢~~~大虾们帮帮小弟啊

}

最佳答案
  • 五星知识达人网友:七十二街
  • 2021-05-05 06:06

用If else是可以的. 但是逻辑要理清楚.


帮你改了. 你可以参考下.


#include <stdio.h>
main(){

int a,b,c;
printf("Input three number:");
scanf("%d%d%d",&a,&b,&c);


if(a<b && a<c)
{
if(b<c)
printf("%d\t%d\t%d\n",a,b,c);
else
printf("%d\t%d\t%d\n",a,c,b);
}
else if(b<a && b<c)
{
if(a<c)
printf("%d\t%d\t%d\n",b,a,c);
else
printf("%d\t%d\t%d\n",b,c,a);
}
else
{
if(a<b)
printf("%d\t%d\t%d\n",c,a,b);
else
printf("%d\t%d\t%d\n",c,b,a);
}
}

全部回答
  • 1楼网友:掌灯师
  • 2021-05-05 07:18

#include<stdio>

using namespace std;

int main()

{

int a,b,c;

printf("input your data a,b,c: \n");

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

if(a<b)

{

if(a<c){printf("%d\t",a);if(b<c){printf("%d, %d",b,c);}else{printf("%d, %d",c,b);}}else{printf("%d, %d, %d",c,a,b);}}

else{if(b<c){printf("%d\t",b);if(a<c){printf("%d, %d",a,c);}else{printf("%d, %d",c,a);}}else{printf("%d, %d, %d",c,b,a);}}

}

return 0;

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯