c语言编写计算器包括加减乘除和阶乘
时间: 2024-09-22 22:10:18 浏览: 61
课程设计之简单计算器(java)
在C语言中编写一个简单的四则运算及阶乘计算器,你可以创建一个结构体或函数来处理计算逻辑,下面是一个基本的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 包含整数操作
// 定义一个结构体用于存储操作数和操作符
typedef struct {
double num;
char operator; // 可能的操作符有 '+', '-', '*', '/'
} Calculator;
// 计算两个double类型的数值
double perform_operation(double a, double b, char op) {
switch(op) {
case '+':
return a + b;
case '-':
return a - b;
case '*':
return a * b;
case '/':
if (b != 0)
return a / b;
else
printf("Error: Division by zero is not allowed.\n");
break;
case '!': // 阶乘处理
if (b >= 0)
return b == 0 ? 1 : b * perform_operation(b - 1, 1, '!');
else
printf("Error: Factorial is only defined for non-negative integers.\n");
break;
default:
printf("Invalid operator.\n");
break;
}
return 0; // 如果没有其他合适的情况,返回0表示错误
}
// 主函数,用户输入并计算结果
int main() {
Calculator calc;
printf("Enter two numbers and an operation (+,-,*,/,!): ");
scanf("%lf %c %lf", &calc.num, &calc.operator, &calc.num);
double result = perform_operation(calc.num, calc.num, calc.operator);
printf("Result: %.2lf\n", result);
return 0;
}
```
在这个程序中,用户会看到提示输入两个数字和一个操作符。然后根据操作符进行相应的计算。注意,这个版本的阶乘功能仅支持正整数,如果需要更复杂的输入验证,可以增加条件判断。
阅读全文