问题标题: 酷町堂:1918 小小计算器5

0
1
已解决
宣雨楠
宣雨楠
高级守护
高级守护

题目描述 Description

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

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

输入描述 Input Description

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

输出描述 Output Description

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

样例输入 Sample Input

+

2 4 5 0

样例输出 Sample Output

11


1
已采纳
李子杰
李子杰
资深光能
资深光能

那乘法呢?

所以要在第3行加一个long long jc=1;

删除第8行,改成:

if(zf=='乘号'){

        jc*=a;

}

if(zf==‘加号){

        sum+=a;

}

其它不改。

注意看题啊,别粗心!!!

 

0
高舒豪
高舒豪
中级光能
中级光能

@李子杰 为啥我的代码和你差不多,还是WA

#include <bits/stdc++.h>
using namespace std;
int main(){
    int a=1;
    long long with=0,product=1;
    char zf;
    cin>>zf;
    while(a!=0){
        cin>>a;
        if(zf=='+'){
            with+=a;
        }
        if(zf=='*'){
            product*=a;
        }
    }
    if(zf=='+'){
        cout<<with;
    }
    else if(zf=='*'){
        cout<<product;
    }
    return 0;
}

 

0
0
0
李牧晓
李牧晓
中级天翼
中级天翼
long long a,m,sum,s=1,cnt;
char n;
cin>>n;
    while(1){
        cin>>a;
        if(a==0){
            break;
        }
        if(n=='+'){
            sum+=a;
        }else{
            s*=a;   
        }
    }
    if(n=='+'){
        cout<<sum<<endl;
    }
    else
        cout<<s<<endl;
0
宣雨楠
宣雨楠
高级守护
高级守护

李牧晓,这个代码不要cnt!

我要回答