练习8-1
#include <stdio.h> #define diff(x,y) ((x>y)?(x-y):(y-x)) int main(void) { int x, y; printf("x:"); scanf("%d",&x); printf("y:"); scanf("%d",&y); printf("x,y之差为%d。\n",diff(x,y)); return 0; }
练习8-2
#include <stdio.h> #define max(x,y) ((x>y)?(x):(y)) int main(void) { int a,b,c,d; printf("a:"); scanf("%d",&a); printf("b:"); scanf("%d",&b); printf("c:"); scanf("%d", &c); printf("d:"); scanf("%d", &d); printf("方法1 a,b,c,d的最大值为%d。\n",max(max(a,b),max(c,d))); printf("方法2 a,b,c,d的最大值为%d。\n", max(max(max(a,b),c),d)); return 0; }
练习8-3
#include <stdio.h> #define swap(int,a,b) {int temp;temp = a;x = y;y = temp;} int main(void) { int x = 5; int y = 10; swap(int, x, y); printf("x = %d\ny = %d\n",x,y); return 0; }
练习8-4 待做
练习8-5
#include <stdio.h> enum gender {male,female}; enum season {spring,summer,autumn,winter}; int main(void) { int x; printf("select gender\n0...male\n1...female\n"); scanf("%d",&x); switch (x) { case 0: printf("male selected!\n"); break; case 1: printf("female selected !\n"); break; } printf("select season\n0...spring\n1...summer\n2...autumn\n3...winter\n"); scanf("%d", &x); switch (x) { case 0: printf("spring selected!\n"); break; case 1: printf("summer selected!\n"); break; case 2: printf("autumn selected!\n"); break; case 3: printf("winter selected!\n"); break; } return 0; }
练习8-6
#include <stdio.h> int factorial(int n) { int i; int x = 1; for (i = 1; i <= n; i++) { x *= i; } return x; } int main(void) { int n; printf("n:"); scanf("%d",&n); printf("factorial(%d) = %d\n",n,factorial(n)); return 0; }
练习8-7
#include <stdio.h> int combination(int n,int r) { int y; if ((r > 1)&&(r < n)) { y = combination(n - 1, r - 1) + combination(n - 1, r); } else if((r==n)||(r==0)) { y = 1; } else if (r == 1) { y = n; } return y; } int main(void) { int n,r; printf("n:"); scanf("%d",&n); printf("r:"); scanf("%d", &r); printf("combination(%d,%d) = %d\n",n,r,combination(n,r)); return 0; }
练习8-8
#include <stdio.h> int gcd(int x,int y) { int z; if (x != y) { if (x > y) x -= y; else y -= x; z = gcd(x, y); } else z = x; return z; } int main(void) { int x,y; printf("x:"); scanf("%d",&x); printf("y:"); scanf("%d", &y); printf("gcd(%d,%d) = %d\n",x,y,gcd(x,y)); return 0; }
练习8-9
#include <stdio.h> int main(void) { int i = 0; int linenum = 1; char ch[128]; while (ch[i] = getchar()) { if (ch[i] == EOF) break; if (ch[i] == '\n') linenum++; i++; } printf("\nlinenum =%d\n",linenum); return 0; }
练习8-10 待做
扫描二维码关注公众号,回复:
1690060 查看本文章