编程实现一个简单的计算器。此计算器应具备基本计算功能:加法、减法、乘法、除法、阶乘等运算,请利用模块化程序设计的思想设计实现。提示:可利用有参有返回值函数实现计算器的各项功能。(c语言)
时间: 2023-12-29 15:03:46 浏览: 93
好的,下面是一个简单的计算器的实现,包括基本的加减乘除,以及阶乘运算:
```c
#include <stdio.h>
// 加法
double add(double x, double y) {
return x + y;
}
// 减法
double subtract(double x, double y) {
return x - y;
}
// 乘法
double multiply(double x, double y) {
return x * y;
}
// 除法
double divide(double x, double y) {
return x / y;
}
// 阶乘
double factorial(double x) {
double result = 1;
for (int i = 1; i <= x; i++) {
result *= i;
}
return result;
}
int main() {
int option;
double num1, num2, result;
printf("请选择要进行的运算:\n");
printf("1. 加法\n");
printf("2. 减法\n");
printf("3. 乘法\n");
printf("4. 除法\n");
printf("5. 阶乘\n");
scanf("%d", &option);
switch (option) {
case 1:
printf("请输入两个加数:\n");
scanf("%lf %lf", &num1, &num2);
result = add(num1, num2);
printf("结果为:%.2f\n", result);
break;
case 2:
printf("请输入被减数和减数:\n");
scanf("%lf %lf", &num1, &num2);
result = subtract(num1, num2);
printf("结果为:%.2f\n", result);
break;
case 3:
printf("请输入两个因数:\n");
scanf("%lf %lf", &num1, &num2);
result = multiply(num1, num2);
printf("结果为:%.2f\n", result);
break;
case 4:
printf("请输入被除数和除数:\n");
scanf("%lf %lf", &num1, &num2);
result = divide(num1, num2);
printf("结果为:%.2f\n", result);
break;
case 5:
printf("请输入一个整数:\n");
scanf("%lf", &num1);
result = factorial(num1);
printf("结果为:%.2f\n", result);
break;
default:
printf("无效的选项!\n");
}
return 0;
}
```
在这个实现中,我们首先让用户选择要进行的运算,然后根据用户的选择调用相应的函数进行计算,并输出结果。这样的设计可以让我们的计算器更加灵活,可以支持多种不同的运算方式。
阅读全文