输入三个整数a,b,c,要求按由小到大的顺序输出。

自己学了没多久,,,实在想不出别的方法了..就用下面程序编的,但是就是不对,输出也很夸张,哪位高手帮看看被……main(){inta,b,c;printf("please... 自己学了没多久,,,实在想不出别的方法了..就用下面程序编的,但是就是不对,输出也很夸张,哪位高手帮看看被……
main()
{
int a,b,c;
printf("please into a,b,c\n");
scanf("%d,%d,%d\n",&a,&b,&c);
if(a<b&&b<c)
printf("%d,%d,%d\n",a,b,c);
else if(b<a&&a<c)
printf("%d,%d,%d\n",b,c,a);
else if(c<b&&b<a)
printf("%d,%d,%d\n",c,b,a);
else
printf("%d,%d,%d\n",c,a,b);
}
展开
 我来答
下巴胡
2008-07-25 · TA获得超过104个赞
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
按照你的思路,该成这样应该就行了
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("please into:\n");
scanf("%d %d %d",&a,&b,&c);
if(a<b&&b<c)
printf("%d,%d,%d",a,b,c);
else if(a<c&&c<b)
printf("%d,%d,%d",a,c,b);
else if(b<a&&a<c)
printf("%d,%d,%d",b,a,c);
else if(b<c&&c<a)
printf("%d,%d,%d",b,c,a);
else if(c<a&&a<b)
printf("%d,%d,%d",c,a,b);
else if(c<b&&b<a)
printf("%d,%d,%d",c,b,a);
}
→灬ぞ決戀ル
推荐于2017-09-29 · TA获得超过147个赞
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
void main()
{int a,b,c,temp=0;
printf("please input a,b,c: ");
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);

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
垫背狮子
2008-07-26 · TA获得超过430个赞
知道答主
回答量:339
采纳率:0%
帮助的人:0
展开全部
用嵌套IF做固然可以,但是算法太麻烦
直接用数组形式要好方便的多
但是考虑你可能是没学到数组吧?
要是用IF嵌套的话不要用IF里是双重判断的(就是用&&符号的),直接用嵌套的话思路更清晰点
具体代码上面都给了,你参考下自己写就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hgreminem
2008-07-25 · TA获得超过724个赞
知道小有建树答主
回答量:350
采纳率:0%
帮助的人:374万
展开全部
#include<stdio.h>

int main()
{
int a[3],z,i,j;
printf("please into a,b,c\n");
for(i=0;i<3;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++) //冒泡排序
{
for(j=0;j<2-i;j++)
{
if( a[j]>a[j+1])
{
z=a[j+1];
a[j+1]=a[j];
a[j]=z;
}
}
}
for(i=0;i<3;i++)
printf("%d ",a[i]);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhadrom
2008-07-25
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
三个不同的数排序共有六种可能,这是个排列组合的问题,若某两个数相同或者三个数相同,那么情况又增多了。所以你的分类数目不够。你可以试试下面这个。
#include <stdio.h>
main(){
int a,b,c,m;
printf("please into a,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
{ if (a>c)
{ m=c,c=a;
if(b>m) a=m;
else a=b,b=m; }
else m=a,a=b,b=m; }
else if(b>c)
{ m=c,c=b;
if (a>m) b=a,a=m;
else b=m; }
printf("\n%d,%d,%d\n",a,b,c); }
测试过,是可以的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式