问题标题: 酷町堂:1918

0
0
已解决
蔡奕辰
蔡奕辰
高级守护
高级守护

#include<iostream>
using namespace std;
char a;
int n=1,sum;
int main(){
    cin>>a;
    if(a=='+'){
        sum=0;
    }
    else sum=1;
    while(n!=0){
        cin>>n;
        if(a=='+'){
            sum+=n;
        }
        else if(a=='*'){
            sum*=n;
        }
    }
    cout<<sum;
    return 0;
}
各位大佬,为什么80????


0
已采纳
刘旭晨
刘旭晨
初级守护
初级守护

你好,其实你的代码没有太大的问题,但是在

 while(n!=0){

这里有一点问题,因为如果你输入了0,会多计算一次,如果是乘法就会在这一行

 else if(a=='*'){
            sum*=n;
        }

把sum清零,所以建议你把循环的输入改成我这个亚子

while(1){
        cin>>n;
        if(n==0) break;
}

这就AC了,望采纳!!!!!!!!

1
我要回答