设一个函数process,在调用它的时候,每次实现不同的功能。

输入a和b两个数,第一次调用process时找出a和b中大者,第二次找出其中的小者,第三次求a与b之和。

 1 #include <stdio.h>
 2 
 3 void main()
 4 {
 5     int max(int, int);
 6     int min(int, int);
 7     int add(int, int);
 8 
 9     void process(int, int, int(*fun)() );
10 
11     int a, b;
12 
13     printf("Enter a and b: ");
14     scanf("%d %d", &a, &b);
15 
16     printf("max = ");
17     process(a, b, max);
18 
19     printf("min = ");
20     process(a, b, min);
21 
22     printf("sum = ");
23     process(a, b, add);
24 }
25 
26 int max(int x, int y)
27 {
28     int z;
29     if(x>y)
30     {
31         z = x;
32     }
33     else
34     {
35         z = y;
36     }
37     return(z);
38 }
39 
40 int min(int x, int y)
41 {
42     int z;
43     if(x>y)
44     {
45         z = y;
46     }
47     else
48     {
49         z = x;
50     }
51     return(z);
52 }
53 
54 int add(int x, int y)
55 {
56     int z;
57     z = x + y;
58     return(z);
59 }
60 
61 void process(int x, int y, int(*fun)() )
62 {
63     int result;
64     result = (*fun)(x, y);
65     printf("%d\n", result);
66 }

 

posted on 2018-07-23 15:39  WKQcoding  阅读(108)  评论(0编辑  收藏  举报