c语言利用函数的递归调用实现浮点数的加减乘除的计算器功能
时间: 2024-03-24 18:37:29 浏览: 72
可以使用函数的递归调用实现浮点数的加减乘除的计算器功能,具体实现如下:
```c
#include <stdio.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 div(float num1, float num2) {
if (num2 == 0) {
printf("除数不能为0\n");
return 0;
} else {
return num1 / num2;
}
}
int main() {
float num1, num2, result;
char operator;
printf("请输入要进行计算的表达式(例如:2.3+5.6): ");
scanf("%f%c%f", &num1, &operator, &num2);
switch (operator) {
case '+':
result = add(num1, num2);
break;
case '-':
result = sub(num1, num2);
break;
case '*':
result = mul(num1, num2);
break;
case '/':
result = div(num1, num2);
break;
default:
printf("无效的运算符\n");
return 0;
}
printf("计算结果为: %f\n", result);
return 0;
}
```
在上面的代码中,我们使用了四个函数来实现加、减、乘、除四种运算。这些函数都是递归调用的,可以实现浮点数的计算器功能。
在主函数中,我们先读入要计算的表达式,然后根据表达式中的运算符调用相应的函数来进行计算,并输出结果。
需要注意的是,除法运算时需要判断除数是否为0,如果为0则输出错误信息并返回0。
阅读全文