1、用if else语句将三个数从大到小输出
#include<stdio.h>
#include<Windows.h>
#pragma warning(disable:4996)
void get_max(int x, int y, int z)
{
if (x > y&&x > z)//x最大时
{
printf("first=%d\n", x);
if (y > z)
{
printf("second=%d\n", y);
printf("third=%d\n", z);
}
else
{
printf("second=%d\n", z);
printf("third=%d\n", y);
}
}
else if (y > z)//y最大时
{
printf("first=%d\n", y);
if (x > z)
{
printf("second=%d\n", x);
printf("third=%d\n", z);
}
else
{
printf("second=%d\n", z);
printf("third=%d\n", x);
}
}
else//z最大时
{
printf("first=%d\n", z);
if (x > y)
{
printf("second=%d\n",x);
printf("third=%d\n", y);
}
else
{
printf("second=%d\n", y);
printf("third=%d\n", x);
}
}
}
int main()
{
int x, y, z;
while (1)
{
printf("请输入三个数字:\n");
scanf("%d%d%d", &x, &y, &z);
get_max(x, y, z);
}
system("pause");
return 0;
}
2、一般方法
#include<stdio.h>
#pragma warning(disable:4996)
void getMax(int a, int b, int c)
{
int max;//从大到小输出
do{
if (a > b){
if (a < c){
printf("%d %d %d", c, a, b);
break;
}
else if (b>c){
printf("%d %d %d", a, b, c);
break;
}
else{
printf("%d %d %d", a, c, b);
break;
}
}
else{
int max = 0;
max = a;
a = b;
b = max;
}
} while (1);
}
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
getMax(a, b, c);
system("pause");
return 0;
}