本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
结尾无空行
输出样例:
2->4->8
结尾无空行
#include <stdio.h>
int main()
{
int a,b,c;
int min=0,med=0,max=0;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
if(a>c&&b>c)
{max=a;med=b;min=c;}
else if(a>c&&b<c) {max=a;med=c;min=b;}
if(a<c){max=c;med=a;min=b;}
}
if(b>a){
if(b>c&&c>a){max=b;med=c;min=a;}
else if(b>c&&a>c){max=b;med=a;min=c;}
if(b<c){max=c;med=b;min=a;}
}
if(c>a){
if(a>b){max=c;med=a;min=b;}
else if(c<b){max=b;med=c;min=a;}
else if(a<b){max=c;med=b;min=a;}
}
if(a==b&&b==c){
max=a;med=b;min=c;
}
printf("%d->%d->%d",min,med,max);
return 0;
}
虽然我也不知道为什么对了,但是答案正确就懒得改了。写的的确有点长了。。。
//隔了一天又写了一遍,看了看别人的代码,用中间值互换的
#include <stdio.h>
int main()
{
int a,b,c,i=0;
scanf("%d %d %d",&a,&b,&c);
if(a>b){
i=a;
a=b;
b=i;
}
if(a>c){
i=a;
a=c;
c=i;
}
if(b>c){
i=b;
b=c;
c=i;
}
printf("%d->%d->%d",a,b,c);
}