本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
法1:
# include <stdio.h>
int main()
{
int a, b, c,max,mid,min;
scanf_s("%d %d %d", &a, &b, &c);
if (a > b)
{
if (a > c)
{
max = a;
if (b > c)
{
mid = b;
min = c;
}
else
{
mid = c;
min = b;
}
}
else
{
max = c;
if (a > b)
{
mid = a;
min = b;
}
else
{
mid = b;
min = a;
}
}
}
else
{
if (c > b)
{
max = c;
if (a > b)
{
mid = a;
min = b;
}
else
{
mid = b;
min = a;
}
}
else
{
max = b;
if (a > c)
{
mid = a;
min = c;
}
else
{
mid = c;
min = a;
}
}
}
printf("%d->%d->%d",min,mid,max);
return 0;
}
法2:
int main()
{
int a, b, c,t1,t2;
scanf_s("%d %d %d", &a, &b, &c);
//用a存放a、b、c中最大的值
t1 = a;
a = (a > b) ? a : b;
a = (a > c) ? a : c;
//用c存放a、b、c中最小的值
t2 = c;
c = (c < b) ? c : b;
c = (c < t1) ? c : t1;
//用b存放a、b、c中中间的值
if (t1<a && t1>c)
{
b = t1;
}
else if (t2<a && t2>c)
{
b = t2;
}
//c、b、a从小到大排列
printf("%d->%d->%d", c, b, a);
return 0;
}