继续刷题中...
输入两个整数a和b,及+,-,*,/中的任意一字符。根据输入字符对整数a和b做相应的算术运算,如输入+,程序就给出a与b之和,输入-,就给出a和b之差,输入*,就给出a和b的乘积,输入/,就给出a与b的商。若输入其他字符,则提示输入错误。
源代码如下:
#include <stdio.h>
#include <stdlib.h>
int calc(int x,int y,int (*p)(int,int));
int add(int x, int y);
int sub(int x, int y);
int mult(int x, int y);
int divi(int x, int y);
int main(){
int a,b,result;
char c;
scanf("%d%c%d",&a,&c,&b);
switch(c){
case '+':result=calc(a,b,add);break;
case '-':result=calc(a,b,sub);break;
case '*':result=calc(a,b,mult);break;
case '/':result=calc(a,b,divi);break;
default:printf("系统不能识别的运算符");exit(1);
}
printf("%d",result);
return 0;
}
int calc(int x,int y,int (*p)(int,int)) {
int k;
k=(*p)(x,y);
}
int add(int x, int y) {
return x + y;
}
int sub(int x, int y) {
return x - y;
}
int mult(int x, int y) {
return x * y;
}
int divi(int x, int y) {
return x / y;
}
运行结果如下: