小菜


私信TA

用户名:1986489560

访问量:1241

签 名:

要向阳而生

等  级
排  名 30208
经  验 504
参赛次数 0
文章发表 3
年  龄 20
在职情况 学生
学  校 山西科技学院
专  业

  自我简介:

解题思路:

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 人评分

  评论区

  • «
  • »