方法1:(利用选择结构设计) #include <stdio.h> int main() { int a, b, c, max; scanf("%d %d %d", &a, &b, &c); //输入3个数字 //判断3个数值大小 if (a > b){ if (a > c) max = a; else max = c; } else{ if (b > c) max = b; else max = c; } printf("Max=%d\n", max); //输出最大值 return 0; }
方法2:(利用条件表达式) #include <stdio.h> int main() { int a, b, c, max; scanf("%d %d %d", &a, &b, &c); //输入3个数值 max = (a > b ? (a > c ? a : c) : (b > c ? b : c)); //判断3个数值大小 printf("Max=%d\n", max); //输出最大值 return 0; } 编写一个C程序,输入a, b, c 3个值,输出其中最大者。 方法3:(利用函数的模块化设计) #include <stdio.h> int max(int x, int y, int z); //定义最大值函数 int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); //输入3个数值 printf("Max=%d\n", max(a, b, c)); //输出最大值 return 0; } //最大值函数 int max(int x, int y, int z) { return (x > y ? (x > z ? x : z) : (y > z ? y : z)); } 编写一个C程序,输入a, b, c 3个值,输出其中最大者。 方法4:(利用指针法1) #include <stdio.h> void max(int *p, int *q, int *r); //定义最大值函数 int main() { int a, b, c, *x, *y, *z; //定义三个值和对应指针变量 x=&a, y=&b, z=&c; printf("Please enter number a b c: "); //输入三个数 scanf("%d %d %d", x, y, z); max(x, y, z); //调用最大值函数 return 0; } //最大值函数 void max(int *p, int *q, int *r) { int m; m=*p>*q ? (*p>*r ? *p : *r) : (*q>*r ? *q : *r); printf("Max=%d\n", m); }