用C语言输入3个整数,要求按从小到大的顺序输出。谢谢大家
发布网友
发布时间:2022-04-24 17:19
我来回答
共5个回答
热心网友
时间:2023-05-04 05:32
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("请输入三个整数:a b c\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("排序后的三个整数为:%d,%d,%d\n",a,b,c);
}
希望能满足你的要求!
热心网友
时间:2023-05-04 05:33
输入三个整数,要求按从小到大的顺序输出。
解题思路:此题采用依次比较的方法排出其大小顺序。
main( )
{ int a , b , c ,t;
scanf(“%d , %d , %d” , &a , &b ,&c) ;
printf(“\n\n a=%d , b=%d , c=%d \n” ,a , b , c) ;
if(a>b)
{t=a ; a=b ; b=t ;}
if(a>c)
{t=a ; a=c ; c=t ;}
if(b>c)
{t=b ; b=c ; c=t ;}
printf(“\n\n a=%d , b=%d , c=%d \n” ,a , b , c) ; }
即可
热心网友
时间:2023-05-04 05:33
#include <stdio.h>
void f(int* x,int* y,int* z)
{
int sum=*x+*y+*z; //三个数之和
//求最大数
int tmp=(*x>*y)?*x:*y;
int max=(tmp>*z)?tmp:*z;
//求最小数
tmp=(*x<*y)?*x:*y;
int min=(tmp<*z)?tmp:*z;
//中间的数为sum减去最大数和最小数
int mid=sum-max-min
//按从小到大重新赋值
*x=min;
*y=mid;
*z=max
}
int main()
{
int a=10,b=-50,c=20;
f(&a,&b,&c);
printf("%d %d %d\n",a,b,c);
return 0;
}
热心网友
时间:2023-05-04 05:34
#include <stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b) {t=a;a=b;b=t;}
if(a>c) {t=a;a=c;c=t;}
if(b>c) {t=b;b=c;c=t;}
printf("%d %d %d\n",a,b,c);
return 0;
}
热心网友
时间:2023-05-04 05:34
程序如下:
#include <stdio.h>
int main( )
{ int a , b , c ,t;
scanf("%d , %d , %d" , &a , &b ,&c) ;
printf("\n\n a=%d , b=%d , c=%d \n" ,a , b , c) ;
if(a>b)
{t=a ; a=b ; b=t ;}
if(a>c)
{t=a ; a=c ; c=t ;}
if(b>c)
{t=b ; b=c ; c=t ;}
printf("\n\n a=%d , b=%d , c=%d \n" ,a , b , c) ;
return 0;
}
运行结果:
./a.out
3,2,1
a=3 , b=2 , c=1
a=1 , b=2 , c=3