使用C语言完成一个简单的计算器,要求实现最基本的运算操作,当用户输入一个算式后,计算器显示计算结果,同时屏幕项部显示:continue?如果用户此时按Y键,则继续输入下一个算式,否则,程序终止。 实现要求: (1)由主函数获取用户输入的算式并进行分解,确定操作数和操作符 (2)完成基本运算(+-×÷%)函数,支持四则运算算式(如:3+2*5) (3)完成复杂运算(sin,cos,tan)函数
时间: 2024-03-25 14:36:42 浏览: 130
好的,我来给您提供一个基于C语言的简单计算器程序,实现最基本的运算操作和复杂运算(sin,cos,tan)函数:
```c
#include <stdio.h>
#include <math.h>
double add(double num1, double num2) {
return num1 + num2;
}
double minus(double num1, double num2) {
return num1 - num2;
}
double multiply(double num1, double num2) {
return num1 * num2;
}
double divide(double num1, double num2) {
return num1 / num2;
}
double remainder(double num1, double num2) {
return fmod(num1, num2);
}
double sin_func(double num) {
return sin(num);
}
double cos_func(double num) {
return cos(num);
}
double tan_func(double num) {
return tan(num);
}
int main() {
char operator;
double num1, num2, result;
char continue_flag = 'Y';
while (continue_flag == 'Y') {
printf("请输入算式(如:3+2*5):");
scanf("%lf%c%lf", &num1, &operator, &num2);
switch (operator) {
case '+':
result = add(num1, num2);
printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);
break;
case '-':
result = minus(num1, num2);
printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);
break;
case '*':
result = multiply(num1, num2);
printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);
break;
case '/':
if (num2 == 0) {
printf("除数不能为0!\n");
}
else {
result = divide(num1, num2);
printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);
}
break;
case '%':
if (num2 == 0) {
printf("除数不能为0!\n");
}
else {
result = remainder(num1, num2);
printf("%.2lf %% %.2lf = %.2lf\n", num1, num2, result);
}
break;
case 's':
result = sin_func(num2);
printf("sin(%.2lf) = %.2lf\n", num2, result);
break;
case 'c':
result = cos_func(num2);
printf("cos(%.2lf) = %.2lf\n", num2, result);
break;
case 't':
result = tan_func(num2);
printf("tan(%.2lf) = %.2lf\n", num2, result);
break;
default:
printf("运算符输入错误!\n");
break;
}
printf("continue?(Y/N)");
scanf(" %c", &continue_flag);
}
return 0;
}
```
这个程序中,我们首先定义了基本运算(`add`、`minus`、`multiply`、`divide`、`remainder`)和复杂运算(`sin_func`、`cos_func`、`tan_func`)的函数,然后使用 `scanf` 函数让用户输入算式,并根据操作符调用相应的函数进行计算,并输出结果。同时,使用一个 `while` 循环和 `continue_flag` 变量来判断用户是否需要继续计算,如果用户输入的是 `Y`,则继续,否则程序终止。
需要注意的是,复杂运算函数需要在用户输入算式时判断操作符是否为 `s`、`c`、`t`,并且只需要使用第二个操作数进行计算。
阅读全文