编写一个 C 程序,显示表达式3.0*5.0,7.1*8.3-2.2和3.2/(6.1* 5)的结果。
时间: 2023-04-01 19:04:25 浏览: 89
以下是 C 语言程序:
#include <stdio.h>
int main() {
printf("3.*5. = %f\n", 3.*5.);
printf("7.1*8.3-2.2 = %f\n", 7.1*8.3-2.2);
printf("3.2/(6.1*5) = %f\n", 3.2/(6.1*5));
return ;
}
相关问题
给定树的中缀表达式**A+B*C-D/E**,后缀表达式+ABC*+++DE/-,构建二叉链表形式的二叉树
根据后缀表达式构建二叉链表形式的二叉树的步骤如下:
1. 从左到右扫描后缀表达式,遇到操作数则将其作为一个新节点插入二叉树中;
2. 遇到操作符则将其作为新节点插入二叉树中,并将其弹出栈顶的两个节点作为其左右子节点;
3. 重复步骤1和2,直到扫描完整个后缀表达式。
根据上述步骤,可以得到构建的二叉树如下:
```
-
/ \
+ /
/ \ / \
A * D E
/ \
B C
```
c语言编写一个算法,利用栈求解中缀算术表达式的值。运算符包括+、-、*、/、(、)和
要利用栈求解中缀算术表达式的值,可以采用以下步骤编写C语言算法:
1. 定义一个栈,用于存储运算符和操作数。
2. 定义两个优先级表,一个用于存储运算符的优先级,另一个用于存储运算符的栈内优先级。
3. 从左至右遍历中缀算术表达式的每个字符。
4. 遇到操作数时,将其直接入栈。
5. 遇到运算符时,与栈顶运算符比较优先级:
- 如果栈为空或栈顶运算符为左括号"(",则将当前运算符直接入栈。
- 如果当前运算符优先级大于栈顶运算符,则将当前运算符入栈。
- 如果当前运算符优先级小于或等于栈顶运算符,则出栈并计算出栈运算符的值,再将计算结果入栈。重复此步骤直到当前运算符可以入栈。
6. 遇到左括号"("时,将其入栈。
7. 遇到右括号")"时,将栈顶运算符出栈并计算出栈运算符的值,直到遇到左括号为止。左括号出栈但不计算。
8. 遍历完整个中缀算术表达式后,将栈内剩下的运算符全部出栈并计算其值。
9. 最后栈内只剩一个值,即为中缀算术表达式的值。
这个算法通过使用栈来处理运算符的优先级和括号的匹配,可以正确地求解中缀算术表达式的值。注意,此算法假设中缀算术表达式的格式正确,且不包含表达式错误或非法操作。