输入三个整数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);
} 展开
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);
} 展开
9个回答
展开全部
按照你的思路,该成这样应该就行了
#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);
}
#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);
}
展开全部
#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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用嵌套IF做固然可以,但是算法太麻烦
直接用数组形式要好方便的多
但是考虑你可能是没学到数组吧?
要是用IF嵌套的话不要用IF里是双重判断的(就是用&&符号的),直接用嵌套的话思路更清晰点
具体代码上面都给了,你参考下自己写就行了
直接用数组形式要好方便的多
但是考虑你可能是没学到数组吧?
要是用IF嵌套的话不要用IF里是双重判断的(就是用&&符号的),直接用嵌套的话思路更清晰点
具体代码上面都给了,你参考下自己写就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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]);
}
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]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
三个不同的数排序共有六种可能,这是个排列组合的问题,若某两个数相同或者三个数相同,那么情况又增多了。所以你的分类数目不够。你可以试试下面这个。
#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); }
测试过,是可以的。
#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); }
测试过,是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询