VivianLu


私信TA

用户名:ytl08327

访问量:5858

签 名:

当善良的人摘下面具,你连跪的机会都没有。

等  级
排  名 5734
经  验 1440
参赛次数 1
文章发表 7
年  龄 20
在职情况 学生
学  校 山东政法学院
专  业 信息管理与信息系统

  自我简介:

现就读于山东政法学院信息管理与信息系统专业

解题思路:这个题目分为3个部分,第一部分是1 + 2 + … + n的求和,这部分有两种方法来求,一种是利用循环来做,但是循环比较耗时间,所以建议采用第二种方法去做:利用等差数列求和公式来求。第二部分是12 + 22 + … + n2,这部分呢就用常规方法:循环去解决就可以。第三部分是1~n的倒数求和,同样适用循环来做就可以了。


注意事项:
运算的时候尤其要注意变量的类型,不要出错。

参考代码:

#include<stdio.h>
int main(void){
 int a,b,c,i;
 double sum = 0;
 int sumA = 0;
 int sumB = 0;
 double sumC = 0;
 
 scanf("%d%d%d",&a,&b,&c);
 
 sumA = (1 + a) * a / 2;//运用等差数列求和公式计算1 + …… + n的和,节省时间
 
 for(i = 1;i <= b;i++) {
  sumB = sumB + i * i;
 }
 
 for(i = 1;i <= c;i++){
  sumC = sumC + (1.0 / i);
 }
 
 sum = sumA + sumB + sumC;
 
 printf("%.2f",sum);
 
 return 0;
}

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区