一、设计思路:
输入1、2或3,选择执行方式。
需要封装三个函数,求最大值(getmax),求最小值(getmin),求和(getsum)
可以选择语句(switch case) 选择执行的方式。
定义一个指针变量,将选择的运行方式指向指针。
二、代码
#include<stdio.h>
#include<stdlib.h>
int getMax(int a,int b){
return a>b?a:b; //三目运算符,求最大值
}
int getMin(int a,int b){
return a<b?a:b;
}
int getSum(int a,int b){
return a+b;
}
int getchoose(int a,int b,int (*p)(int,int)){
return (*p)(a,b);
}
int main()
{
int a=34,b=12;
int cmd;
int ret;
int (*p)(int,int);
printf("请输入1(求最大值)2(求最小值)3(求和):");
scanf("%d",&cmd);
switch(cmd)
{
case 1: p = getMax; break;
case 2: p = getMin; break;
case 3: p = getSum; break;
default: printf("输入错误,程序结束!"); exit(-1);
}
ret = getchoose(a,b,p);
printf("%d",ret);
return 0;
}