例 8.24 有两个整数a和b,由用户输入1,2或3。如输入1,程序就给出a和b中大者,输入2,就给出a和b中小者,输入3,则求a与b之和。

xiaoxiao2021-02-28  141

C程序设计(第四版) 谭浩强 例8.24 个人设计

例 8.24 有两个整数a和b,由用户输入1,2或3。如输入1,程序就给出a和b中大者,输入2,就给出a和b中小者,输入3,则求a与b之和。

代码块:

#include <stdio.h> void choose(int x, int y, int z); //定义判断函数 void fun(int x, int y, char *f, int (*p)(int, int)); //定义功能函数 int max(int, int); //定义最大值函数 int min(int, int); //定义最小值函数 int sum(int, int); //定义求和函数 char *f1="Max=%d\n"; //定义最大值输出格式 char *f2="Min=%d\n"; //定义最小值输出格式 char *f3="Sum=%d\n"; //定义求和输出格式 int main() { int a, b, n; //定义两个整数变量及选择变量 printf("Please enter a & b: "); //输入两个整数 scanf("%d %d", &a, &b); printf("Please choose 1, 2 or 3: "); //输入选择数字 scanf("%d", &n); choose(a, b, n); //调用判断函数 return 0; } //判断函数 void choose(int x, int y, int z) { if (z==1) fun(x, y, f1, max); if (z==2) fun(x, y, f2, min); if (z==3) fun(x, y, f3, sum); } //功能函数 void fun(int x, int y, char *f, int (*p)(int, int)) { printf(f, (*p)(x, y)); } //最大值函数 int max(int x, int y) { return x>y ? x : y; } //最小值函数 int min(int x, int y) { return x<y ? x : y; } //求和函数 int sum(int x, int y) { return x+y; }
转载请注明原文地址: https://www.6miu.com/read-2624551.html

最新回复(0)