用C语言实现计算器加减乘除和阶乘的功能
时间: 2024-03-09 14:50:22 浏览: 84
好的,我可以帮您解答这个问题。
以下是用C语言实现计算器加减乘除和阶乘的功能的代码示例:
```c
#include <stdio.h>
// 加法
float add(float a, float b) {
return a + b;
}
// 减法
float subtract(float a, float b) {
return a - b;
}
// 乘法
float multiply(float a, float b) {
return a * b;
}
// 除法
float divide(float a, float b) {
if (b == 0) {
printf("Error: division by zero\n");
return 0;
}
return a / b;
}
// 阶乘
int factorial(int n) {
if (n < 0) {
printf("Error: cannot calculate factorial of a negative number\n");
return 0;
}
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
float a, b;
int n;
char operator;
printf("Please enter an operator (+, -, *, /) or f (factorial): ");
scanf("%c", &operator);
if (operator == 'f') {
printf("Please enter a non-negative integer: ");
scanf("%d", &n);
printf("%d! = %d\n", n, factorial(n));
} else {
printf("Please enter two numbers: ");
scanf("%f %f", &a, &b);
switch (operator) {
case '+':
printf("%f + %f = %f\n", a, b, add(a, b));
break;
case '-':
printf("%f - %f = %f\n", a, b, subtract(a, b));
break;
case '*':
printf("%f * %f = %f\n", a, b, multiply(a, b));
break;
case '/':
printf("%f / %f = %f\n", a, b, divide(a, b));
break;
default:
printf("Error: invalid operator\n");
}
}
return 0;
}
```
在上面的示例代码中,我们定义了四个函数,分别用于实现加法、减法、乘法和除法。另外还定义了一个函数用于计算阶乘。在 `main` 函数中,我们首先读取用户输入的操作符,然后根据操作符的不同,调用相应的函数进行计算。如果用户输入的是阶乘操作符,那么我们就读取用户输入的一个整数,并调用阶乘函数进行计算。
希望这个答案能够帮到您,如果您还有其他问题,可以继续问我。
阅读全文