问题链接:CCF NOI1059 表达式求值。
时间限制:
1000 ms 空间限制: 262144 KB
题目描述
计算仅含有加法计算的表达式的值。该表达式长度不超过250,中间没有空格与括号,并且计算结果在整数范围内。
输入
输入表达式。
输出
输出表达式的值。
样例输入
12+23+21
样例输出
56
数据范围限制
问题分析
简单的字符流处理问题,直接输入计算即可。
程序说明
用函数scanf()读入整数。
用函数getchar()读入加运算符。
这里给出了两个程序,后一个是纯字符流处理的程序。
- 没有加运算符(+)意味着表达式结束。
- 用函数scanf()读入整数。
参考链接:(略)。
100分通过的C语言程序之一:
#include <stdio.h> int main(void) { int val, sum; char c; sum = 0; for(;;) { scanf("%d", &val); sum += val; if((c = getchar()) != '+') break; } printf("%d ", sum); return 0; }
100分通过的C语言程序之二:
#include <stdio.h> #include <ctype.h> int main(void) { int val, sum; char c; sum = 0; val = 0; c = getchar(); for(;;) { while(isdigit(c)) { val = val * 10 + c - '0'; c = getchar(); } sum += val; val = 0; if(c != '+') break; c = getchar(); } printf("%d ", sum); return 0; }