问题描述
求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和
输入
a b c
输出
1+2+…+a + 12+22+…+b^2 + 1/1+1/2+…+1/c
样例输入
100 50 10
样例输出
47977.93
#include<iostream>
#include<iomanip> //保留两位小数的函数声明
using namespace std;
double Sum(double a)
{
double sum=0,j=0;
for(int i=1;i<=a;i++)
{
j=j+1;
sum =sum+j;
}
return sum;
}
double ping(double b)
{
double sum=0,j=0;
for(int i=1;i<=b;i++)
{
j=j+1;
sum =sum+j*j;
}
return sum;
}
double dao(double c)
{
double sum=0,j=0;
for(int i=1;i<=c;i++)
{
j=j+1;
sum =sum+1/j;
}
return sum;
}
int main()
{
double a,b,c;
cin>>a>>b>>c;
Sum(a);
ping(b);
dao(c);
double sum=0;
sum=Sum(a)+ping(b)+ dao(c);
cout<<setiosflags(ios::fixed);//设置输入浮点形式
cout.precision(2); //设置两位有效数字
cout<<sum;
return 0;
}
难点分析:
1.如何保留小数点后两位,参考https://blog.csdn.net/lyz_lucky/article/details/77435118?locationNum=15&fps=1
2.前三个函数为double,不用int