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; }