输入三个整数a,b,c,要求按由小到大的顺序输出。
发布网友
发布时间:2024-09-30 07:41
我来回答
共5个回答
热心网友
时间:2024-10-07 06:53
按照你的思路,该成这样应该就行了
#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);
}
热心网友
时间:2024-10-07 06:52
#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]);
}
热心网友
时间:2024-10-07 06:47
用嵌套IF做固然可以,但是算法太麻烦
直接用数组形式要好方便的多
但是考虑你可能是没学到数组吧?
要是用IF嵌套的话不要用IF里是双重判断的(就是用&&符号的),直接用嵌套的话思路更清晰点
具体代码上面都给了,你参考下自己写就行了
热心网友
时间:2024-10-07 06:48
三个不同的数排序共有六种可能,这是个排列组合的问题,若某两个数相同或者三个数相同,那么情况又增多了。所以你的分类数目不够。你可以试试下面这个。
#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); }
测试过,是可以的。
热心网友
时间:2024-10-07 06:50
#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);
}