文章目录
1.题目链接
2.题目代码
cpp
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int numberOfOrangeContain;
cin >> numberOfOrangeContain;
int totalVolume = 0;
int volumeFractionOfOrangeJuice;
for(int drinkSubscript = 1; drinkSubscript <= numberOfOrangeContain; drinkSubscript ++){
cin >> volumeFractionOfOrangeJuice;
totalVolume += volumeFractionOfOrangeJuice;
}
double totalVolume2= totalVolume;
double numberOfOrangeContain2 = numberOfOrangeContain;
printf("%.12f",totalVolume2 / 100 / numberOfOrangeContain2 * 100);
return 0;
}
3.题目总结
用时:33min
卡住原因:① 变量类型设置有问题
② 最初使用while循环输入数据,导致后续参与运算时numberOfOrangeContain变量值发生变化
③ 对c++保留指定小数位数的运算结果的方法不太了解
4.学习别人代码的经验
① 变量可以直接设置成double类型,可以省略转换的过程
② 保留12位输出结果的另一种方法:cout << setprecision(要保留的小数位数) << fixed << 参与运算的数据(即本题的:totalVolume2 / 100 / numberOfOrangeContain2 * 100);
③ 耗时 内存占用
我的代码: 92ms 4100KB
人家的代码:30ms 0KB