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 谢谢提醒