本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
#include<stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
/*a与b比较,将a,b中最小的数给a,变换结束后a就是a,b两数中
最小的数了*/
if(a>b)
{
t=a;
a=b;
b=t;
}
/*这时a是a,b两数中最小的数,a与c比较将a,c两数中最小的数
给a,这时的a也是a,b,c三数中最小的数了*/
if(a>c)
{
t=a;
a=c;
c=t;
}
/*剩下的两数比较大小,将小的那个数给b,最大的数就是c */
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("%d->%d->%d",a,b,c);
return 0;
}
思路:输出格式的排序是没变的,和输入格式一样,所以这题思路就是将三个数调换位置,最小的数给a,中间大的数给b,最大的数给c,具体变换过程看注释。