要求
输入3个整数,输出3个由大到小排列的结果
思路
先将特殊情况写出(两数相等,或三数相等)
后讨论三数不等的情况
实现
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c;
printf("请输入3个整数\n");
scanf("%d,%d,%d", &a, &b, &c);
printf("这三个数由大到小排序为:");
if (a == b)
{
if (a >= c)
printf("%d,%d,%d", a, b, c);
else if (a < c)
printf("%d,%d,%d", c, a, b);
}
else if (a == c)
{
if (a >= b)
printf("%d,%d,%d", a, c, b);
else if (a < b)
printf("%d,%d,%d", b, a, c);
}
else if (b == c)
{
if (b >= a)
printf("%d,%d,%d", b, c, a);
else if (b < a)
printf("%d,%d,%d", a, b, c);
}
else if (a == c == b)
printf("%d,%d,%d", a, b, c);
else 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>b&&b>a)
printf("%d,%d,%d",c,b,a);
else if(c>a&&a>b)
printf("%d,%d,%d",c,a,b);
}