//帶參宏求3個數的最大值 #include <stdio.h> #define MAX(a, b, c) (a>b?a:b)>c?(a>b?a:b):c int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; }
//用函數求三個數的最大值 #include <stdio.h> int MAX(int a, int b, int c); //函數聲明 int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; } int MAX(int a, int b, int c) { int max; if (a > b) max = a; else max = b; if (c > max) max = c; return max; }
//以上兩個方法合起來,投機取巧地采用函數求三個數的最大值 #include <stdio.h> int MAX(int a, int b, int c); //函數聲明 int main() { int a, b, c; puts("input three numbers, use space to seperate each other:"); scanf("%d%d%d", &a, &b, &c); printf("%d\n", MAX(a,b,c)); return 0; } int MAX(int a, int b, int c) { return (a>b?a:b)>c?(a>b?a:b):c; }