求助

B2088 计算书费

ccyt @ 2023-07-09 18:16:46

求助大佬

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    long long n[11]={},add=0;
    for(int i=1;i<=10;i++){
        cin>>n[i];
    }
    for(int i=1;i<=10;i++){
        if(n[i]==1){
            add+=n[i]*28.9;
        }
        if(n[i]==2){
            add+=n[i]*32.7;
        }
        if(n[i]==3){
            add+=n[i]*45.6;
        }
        if(n[i]==4){
            add+=n[i]*78;
        }
        if(n[i]==5){
            add+=n[i]*35;
        }
        if(n[i]==6){
            add+=n[i]*86.2;
        }
        if(n[i]==7){
            add+=n[i]*27.8;
        }
        if(n[i]==8){
            add+=n[i]*43;
        }
        if(n[i]==9){
            add+=n[i]*56;
        }
        if(n[i]==10){
            add+=n[i]*65;
        }
    }
    cout<<fixed<<setprecision(1)<<add<<endl;
    return 0;
}

(✪ω✪)


by WsW_ @ 2023-07-09 18:27:06

@HBSlittle 要用 double ,不然会给你强制转化成整数


by zengzixvan @ 2023-07-09 18:55:07

@HBSlittle

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    double n[11],add=0;//有小数定义要用double类型,数据也不大
    for(int i=1;i<=10;i++){
        cin>>n[i];
    }
    for(int i=1;i<=10;i++){
        if(i==1){//这里是i,不是n[i],后面的也是
            add+=n[i]*28.9;
        }
        if(i==2){
            add+=n[i]*32.7;
        }
        if(i==3){
            add+=n[i]*45.6;
        }
        if(i==4){
            add+=n[i]*78;
        }
        if(i==5){
            add+=n[i]*35;
        }
        if(i==6){
            add+=n[i]*86.2;
        }
        if(i==7){
            add+=n[i]*27.8;
        }
        if(i==8){
            add+=n[i]*43;
        }
        if(i==9){
            add+=n[i]*56;
        }
        if(i==10){
            add+=n[i]*65;
        }
    }
    cout<<fixed<<setprecision(1)<<add<<endl;
    return 0;
}

另外我个人比较喜欢短的代码,所以下面简化版的仅供参考:

#include<iostream>
#include<iomanip>
using namespace std;
int main(){
    double n[11],add=0;
    for(int i=1;i<=10;i++){
        cin>>n[i];
    }
    add+=n[1]*28.9+n[2]*32.7+n[3]*45.6+n[4]*78+n[5]*35+n[6]*86.2+n[7]*27.8+n[8]*43+n[9]*56+n[10]*65;
    cout<<fixed<<setprecision(1)<<add<<endl;
    return 0;
}

by ccyt @ 2023-07-10 17:26:36

@zengzixvan 谢谢提醒


|