题目是:让程序从小到大排列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之类的东西)
谢谢~~~大虾们帮帮小弟啊
}
用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);
}
}
#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;
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息