增加循环出口 防止出口特殊
2018-02-09 21:23 江林杰 阅读(168) 评论(0) 收藏 举报实现一个简单的计算器,可以计算一个只包含加减法的表达式。
输入
输入只有一行,是一个算术表达式,只包含加减法。符号和数字之间没有空格,保证中间结果和计算结果在Int范围内。
输出
输出算术表达式计算结果。
样例输入
123+4-5
样例输出
122
遇到问题:
1· 时间超限 原因是 *****出口特殊且单一****
******scanf 不能接受 ’\n'*****
正确的代码如下:
#include<stdio.h>
int main()
{ int sum=0,a;
char ch;
ch='+';
while(ch!='\n')
{
scanf("%d",&a);
if(ch=='+') sum+=a;
else
{
if(ch=='-') sum-=a;
else //**********************************************************************此处两行设置了另一个出口 去除了出口=='\n'的特殊性
break;
}
ch=getchar();//****************************************************此处 修改了scanf不能接收'\n'的错误 !!!!!!!!!!!!!!!!!!!!!!
}
printf("%d\n",sum);
return 0;
}
浙公网安备 33010602011771号