三个数中寻找最大值的5种方法-C语言实现
输入三个数a、b、c要求按由从小到大的顺序输出
1 #include <stdio.h> 2 int main() 3 { 4 int a, b, c; 5 printf("请输入a,b,c"); 6 scanf("%d %d %d", &a, &b, &c); 7 8 // 1.三元运算符 9 int n = (((a > b) ? a : b) > c) ? ((a > b) ? a : b) : c; 10 printf("%d", n); 11 12 return 0; 13 }
1 #include <stdio.h> 2 int main() 3 { 4 int a, b, c; 5 printf("请输入a,b,c"); 6 scanf("%d %d %d", &a, &b, &c); 7 8 // 2.调用函数 9 int m=judge(judge(a,b),c); 10 printf("%d", m); 11 } 12 13 int judge(int a, int b) 14 { 15 return (a > b) ? a : b; 16 }
1 // 3.使用中间变量储存最大值 2 #include <stdio.h> 3 int main() 4 { 5 //方法一 6 /*int a, b, c; 7 printf("请输入a,b,c"); 8 scanf("%d %d %d", &a, &b, &c); 9 10 int t = 0; 11 if (a > b) 12 t = a; 13 else 14 t = b; 15 if (c > t) 16 t = c; //t为最大值 17 printf("%d", c);*/ 18 19 //方法二 20 int a,b,c,temp; 21 printf("请输入三个数\n"); 22 scanf("%d%d" , &a , &b); 23 if ( a > b )//a和b调换位置 a>b时 b最大 24 { 25 temp = a; 26 a = b; 27 b = temp; 28 } 29 if( a > c ) 30 { 31 temp = a; 32 a = c; 33 c = temp; 34 } 35 if( b > c ) 36 { 37 temp = b; 38 b = c; 39 c = temp; 40 } 41 printf("%d %d %d\n" , a , b , c); 42 } 43 44 45
1 // 4.方法3的改进版-使用a储存最大值 2 #include <stdio.h> 3 int main() 4 { 5 int a, b, c; 6 printf("请输入a,b,c"); 7 scanf("%d %d %d", &a, &b, &c); 8 9 if (a<b) 10 a=b; 11 if (a<c) 12 a=c;//a值为最大值 13 printf("%d",a); 14 } 15
1 // 5.使用&&防止if嵌套 2 #include <stdio.h> 3 int main() 4 { 5 int a, b, c; 6 printf("请输入a,b,c"); 7 scanf("%d %d %d", &a, &b, &c); 8 9 int max; 10 if (a > b && a > c) 11 max = a; 12 else if(b > a && b > c) 13 max = b; 14 else 15 max = c; 16 17 printf("%d",max); 18 } 19
版权声明:本文为eliaukqy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。