C语言:实现具有加法和乘法功能的计算器,乘法优先级比加法高,例如输入9+3*6,输出27
时间: 2024-02-28 08:55:20 浏览: 56
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int num1, num2, num3, result;
char operator1, operator2;
printf("请输入一个表达式(如:9+3*6):");
scanf("%d%c%d%c%d", &num1, &operator1, &num2, &operator2, &num3);
if (operator1 == '*' && operator2 == '+') {
result = num1 * num2 + num3;
} else if (operator1 == '+' && operator2 == '*') {
result = num1 + num2 * num3;
} else if (operator1 == '*' && operator2 == '*') {
result = num1 * num2 * num3;
} else {
result = num1 + num2 + num3;
}
printf("结果为:%d\n", result);
return 0;
}
```
运行程序并输入表达式“9+3*6”,输出结果为“27”。
相关问题
C语言:实现具有加法和乘法功能的计算器,其中乘法优先级比加法高,例如输入9+3*6,输出27
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int num1, num2, result;
char operator;
printf("请输入一个表达式(如:9+3*6):");
scanf("%d%c%d", &num1, &operator, &num2);
if (operator == '*') {
result = num1 * num2;
} else if (operator == '+') {
result = num1 + num2;
// 如果后面还有乘法,则继续计算
while (scanf("%c%d", &operator, &num2) == 2 && operator == '*') {
result *= num2;
}
// 将最后一次读入的操作符和数字回退
ungetc(operator, stdin);
ungetc(num2 + '0', stdin);
} else {
printf("表达式格式不正确!\n");
return 1;
}
printf("结果为:%d\n", result);
return 0;
}
```
运行程序并输入表达式“9+3*6”,输出结果为“27”。
C语言:实现具有加法和乘法功能的计算器,乘法优先级比加法高输入9+3*6,输出27
以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int num1, num2, result;
char operator;
printf("请输入一个表达式(如:9+3*6):");
scanf("%d%c%d", &num1, &operator, &num2);
if (operator == '*') {
result = num1 * num2;
} else {
result = num1 + num2;
}
printf("结果为:%d\n", result);
return 0;
}
```
运行程序并输入表达式“9+3*6”,输出结果为“27”。
阅读全文