解题思路:
1,对于编程题,要分解题的要求,把每一步的小要求分解开来,做正确,这样就算编译过程中,有报错的,也能精确的定位到某个点。
2,题目要求分解四小步,先求1+2+3....的和,再求1^2+2^2+......,然后求1/1+1/2+1/3+1/4....,最后再求,三个算式的总和
3,1+2+3....的核心代码是s=s+i;i为临时变量;s是求和的所得值;
4,1^2+2^2+....的核心代码是p=p+j*j;j为临时变量;p是平方和求和的所得值;
5,1/1+1/2+1/3+1/4....的核心代码是=q+1.00/k;k为临时变量;q是分子式求和的所得值;
6,最后再进行求总和,得到Sn的值;
注意事项:
1,看到题目要求保留两位小数,所以控制输出流显示的浮点数的数字个数,采用setprecision(n)来完成这一步操作(要使用setprecision(n),要在开头写#include<iomanip>);
2,q=q+1.00/k;这一步一定要在1后面加两个零,不然结果出来错误;
3,本人只是编程小白,有很多写的不恰当的地方,希望大家指正,一起变好,欢迎评论哦!
参考代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int a,b, c;
int i=1;
int j=1;
int k=1;
long long s=0,p=0;
float q=0;
double Sn=0;
cin>>a>>b>>c;
do
{ s=s+i;
i++;
}while(i<=a);
do
{
p=p+j*j;
j++;
}while(j<=b);
do
{
q=q+1.00/k;
k++;
}while(k<=c);
Sn=s+p+q;
cout<<fixed<<setprecision(2)<<Sn<<endl;
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复