|
发表于 2020-12-7 15:13:38
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- #include<stdlib.h>
- float add(float num1, float num2)
- {
- return num1 + num2;
- }
- float sub(float num1, float num2)
- {
- return num1 - num2;
- }
- float mul(float num1, float num2)
- {
- return num1 * num2;
- }
- float divi(float num1, float num2)
- {
- return num1 / num2;
- }
- float cal(float (*fp)(float num1, float num2), float num1,float num2)
- {
- return (*fp)(num1,num2);
- }
- float (*select(char op))(float num1, float num2)
- {
- switch(op)
- {
- case '+': return add;
- case '-': return sub;
- case '*': return mul;
- case '/': return divi;
- }
- }
- int main()
- {
- float (*fp)(float, float);
- printf("请输入一个算式: ");
- float num1,num2;
- char op;
- scanf("%f%c%f",&num1,&op,&num2);
- fp = select(op);
- printf("%f %c %f = %f",num1,op,num2,cal(fp,num1,num2));
- return 0;
- }
复制代码 |
|