解题思路:
逆波兰表达式的第一个字符一定是运算符,判断输入的字符串第一个字符是否为运算符,是则返回两个子逆波兰表达式相运算的结果,如不是则返回数值
注意事项:
不能使用gets读入字符串
atof是将字符串转换为浮点数的函数 ,在头文件stdlib.h中
本题还可利用栈的思想
参考代码:
#include #include double getResult() { char a[20]; scanf("%s", a); switch(a[0]) { case '*': return getResult() * getResult(); case '/': return getResult() / getResult(); case '+': return getResult() + getResult(); case '-': return getResult() - getResult(); default: return atof(a); } } int main() { printf("%lf", getResult()); return 0; }
0.0分
4 人评分
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:530 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:879 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:543 |
C语言训练-求素数问题 (C语言代码)浏览:773 |
WU-输出正反三角形 (C++代码)浏览:1103 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:567 |
时间转换 (C语言代码)浏览:699 |
素数的个数 一直是超时浏览:699 |
拯救雅典娜浏览:1381 |