题解 P2393 【yyy loves Maths II】
jinruihai_2006 · · 题解
题解 P2393 (给初学者看的,大佬勿喷)
思路:首先要计算很多数的和,题目中并没有说是多少个所以要做一个死循环,一直循环输入直到敲回车。
#include<bits/stdc++.h>
using namespace std;
double S,T;
int main()
{
while((cin>>T)!=0)
{
S+=T*1000000;//去除小数部分,直接乘,变成整数
}
cout<<fixed<<setprecision(5)<<S/1000000;//这个初学者可能看不懂,相当于printf("%.5lf",s/1000000)。
return 0;
}
- 然而只有70或80分,这是为什么,因为精度可能会出毛病。所以要用long double 保证精度没毛病
AC代码 供参考 S=ans,T=tmp
#include<bits/stdc++.h>
using namespace std;
long double S,T;
int main()
{
while((cin>>T)!=0)
{
S+=T*1000000;
}
cout<<fixed<<setprecision(5)<<S/1000000;;
return 0;
}