//写一个程序,实现两个数的,加减乘除。
int add(int a, int b)//相加
{
int z = a + b;
return z;
}
int sub(int a, int b)相减
{
int z = a - b;
return z;
}
int mul(int a, int b)相乘
{
int z = a * b;
return z;
}
int div(int a, int b)相除
{
int z = a / b;
return z;
}
void menu()
{
printf("******************************\n");
printf("******** 1 .add 2 .sub *******\n");
printf("******** 3 .mul 4 .div *******\n");
printf("******** 0.exist *******\n");
printf("******************************\n");
}
int cacl(int (*p_h)(int , int ))
{
printf("请输入两个操作数\n");
int x = 0;
int y = 0;
scanf("%d%d", &x, &y);
return p_h(x, y);
}
int main()
{
menu();
int (*p_f[5])(int, int) = { NULL,add,sub,mul,div };//指针函数数组。
int input = 0;
int ret = 0;
printf("请输入指定项目前的数字:>\n");
scanf("%d", &input);
switch (input)
{
case 1:
ret = cacl(p_f[input]);
printf("add:");
printf("%d\n", ret);
break;
case 2:
ret = cacl(p_f[input]);
printf("sub:");
printf("%d\n", ret);
break;
case 3:
ret = cacl(p_f[input]);
printf("mul:");
printf("%d\n", ret);
break;
case 4:
ret = cacl(p_f[input]);
printf("dvi:");
printf("%d\n", ret);
break;
case 0:
break;
default:
printf("输入错误,请重新输入\n");
}
return 0;
}