用c++编写一个计算器程序,支持:+、-、*、/、!(阶乘)、x^y(xy)的混合运算。
时间: 2023-11-08 13:04:06 浏览: 135
多线程并发代码的IntelliJ IDEA中调试方法.docx
好的,我可以回答这个问题。以下是一个简单的用 C 编写的计算器程序,支持加减乘除、阶乘和乘方运算:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double factorial(int n);
double power(double x, int y);
int main() {
char op;
double x, y, result;
printf("请输入运算式(例如:2+3):");
scanf("%lf%c%lf", &x, &op, &y);
switch (op) {
case '+':
result = x + y;
break;
case '-':
result = x - y;
break;
case '*':
result = x * y;
break;
case '/':
result = x / y;
break;
case '!':
result = factorial((int) x);
break;
case 'x':
result = power(x, (int) y);
break;
default:
printf("无效的运算符\n");
return 1;
}
printf("结果为:%g\n", result);
return 0;
}
double factorial(int n) {
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
double power(double x, int y) {
return pow(x, y);
}
```
你可以根据需要修改或扩展此程序。希望能对你有所帮助!
阅读全文