已解决 蔡奕辰 高级守护 #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????
已采纳 刘旭晨 初级守护 你好,其实你的代码没有太大的问题,但是在 while(n!=0){ 这里有一点问题,因为如果你输入了0,会多计算一次,如果是乘法就会在这一行 else if(a=='*'){ sum*=n; } 把sum清零,所以建议你把循环的输入改成我这个亚子 while(1){ cin>>n; if(n==0) break; } 这就AC了,望采纳!!!!!!!!