1.设计一个计算器,除了基本的数学运算(加、减、乘、除、取余)外,再加上xy、ex、log(x)、log10(x)等运算。 2.本程序一旦运行,就开始计时,程序退出时,结束计时,并在退出前告知用户本次程序运行了多长时间。 c语言
时间: 2024-11-12 16:39:19 浏览: 7
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
设计一个简单的C语言计算器程序可以分为以下几个步骤:
1. **定义结构体**:
首先创建一个结构体`Calculator`,包含必要的操作函数指针数组,以及用于存储当前时间的变量。
```c
typedef struct {
void (*add)(double a, double b);
void (*subtract)(double a, double b);
void (*multiply)(double a, double b);
void (*divide)(double a, double b);
void (*modulus)(double a, double b);
void (*exponential)(double base, double exponent);
void (*naturalLog)(double x);
void (*decimalLog)(double x);
time_t startTime;
} Calculator;
```
2. **初始化操作函数**:
定义并初始化每个运算的函数,例如:
```c
static void add(double a, double b) { ... }
static void subtract(double a, double b) { ... }
// 其他运算函数...
```
3. **主函数**:
- 计算器初始化:获取开始时间
- 提供用户输入和选择运算
- 调用相应的函数计算结果
- 程序结束时停止计时
```c
int main() {
Calculator calc = {add, subtract, multiply, divide, modulus, exponential, naturalLog, decimalLog, time(NULL)};
while (true) {
printf("请输入运算(如+、-等): ");
char op[2];
scanf("%s", op);
if (op[0] == 'q') break; // 用户退出
double a, b;
scanf("%lf %lf", &a, &b);
switch(op[0]) {
case '+': calc.add(a, b); break;
// 其他运算...
case 'e': calc.exponential(a, b); break;
// ...
}
printf("结果: %.2lf\n", ...); // 输出计算结果
}
time_t endTime = time(NULL);
printf("程序运行时间为: %ld 秒\n", endTime - calc.startTime);
return 0;
}
```
阅读全文