问题标题: 酷町堂:1918?

0
0
已解决
被禁言 姜成禹
姜成禹
新手守护
新手守护

1918   小小计算器5

题目描述 Description

输入一个符号,再输入若干个整数,以数字 0 为结束标志,表示对这若干个数进行相应的运算,请你输出最终运算结果。

输入的符号只会是 “ + * ” 两种符号中的一种。

输入描述 Input Description

两行,第一行一个符号,第二行一排数字

输出描述 Output Description

一个整数,相应的计算结果

样例输入 Sample Input

 

+
2 4 5 0

样例输出 Sample Output

 

11

 

80分错误代码: 

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    char a;
    int n,sum=0,sun=1;
    cin>>a;
    while(n!=0) 
    {
       cin>>n;
       if(a==43)
    {
      sum=sum+n;        
    }
    else if(a==42)
    {
      sun=sun*n;    
    }
    }
    if(a==43)
    {
      cout<<sum;
    }
    if(a==42)
    {
        cout<<sun;
    }
    return 0;
}

求大佬!


0
已采纳
桑烁
桑烁
高级光能
高级光能

如果输入了0,你的里面还会运算一次再跳出,也就是说加法没有影响,但是乘法就输出0(*0)了

修改建议:

while为死循环

循环里(cin>>n后)添加if判断,如果是0,就break(跳出)

0
我要回答