解题思路以及注意事项:

  1. 注意前面用double定义后面输出就得用%lf。

  2. 注意循环开始和结尾,否则容易出错。

实例代码:

#include"stdio.h"
int main()
{
    double a,b,c,sum1=0,sum2=0,sum3=0,i,sum=0;
    scanf("%lf",&a);
    scanf("%lf",&b);
    scanf("%lf",&c);
    for(i=1;i<=a;i++)                 //开始和结束非常重要
    {
        sum1+=i;    
    }
    for(i=1;i<=b;i++)
    {
        sum2+=i*i;
    }
    for(i=1;i<=c;i++)
    {
        sum3+=1.0/i;                  //注意要用1.0/i
    }
    sum=sum1+sum2+sum3;
    printf("%.2lf",sum);
    return 0;
}

还有什么不懂的请在下面评论区留言,小方会及时为您解答

点赞(40)
 

0.0分

64 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 165 条评论

贾晓聪 5年前 回复TA
@大哲101 M 不对  第一个while后M=a
你好萌啊 5年前 回复TA
循环判断的变量不能用double吧。。
大哲101 5年前 回复TA
#include<stdio.h>
int main()
{
	float a,b,c;
	float M=1;
	float num1=0,num2=0,num3=0;
	float ALL;
	scanf("%f %f %f\n",a,b,c);
	while(M<=a)
	{
		num1=num1+M;
		M=M+1;
	}
	while(M<=b)
	{
		num2=num2+(M*M);
		M=M+1;
	}
	while(M<=c)
	{
		num3=num3+(1.0/M);
			M=M+1;
	}
	ALL=num1+num2+num3;
	printf("%0.2f\n",ALL);

	return 0;
}
各位大神哪里错了,请赐教
一叶知秋 5年前 回复TA
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
  double sum=0;
  int a,b,c;
  a=b=c=0;
  scanf("%d%d%d",&a,&b,&c);

  
  //算出1~a的和
  for(int i=1;i<=a;i++){
    sum = sum+i;
  }

  //算出1~b的平方和
  for(int i=1;i<=b;i++){
    sum = sum + pow(i,2);
  }

  //算1~c倒数的和
  for(int i=1;i<=c;i++){
    sum = sum+1.0/i;
  }

  printf("%.2lf",sum);
  return 0;
}
一叶知秋 5年前 回复TA
@joker 可用<math.h>库里面的函数 pow(i,2)求平方
一叶知秋 5年前 回复TA
@1810225051 输入的整数型,不需要用浮点数,你用浮点数循环判断语句怎么写
逻辑幻象 5年前 回复TA
@没有风的七月 1是int     1.0是小数   里面涉及了强制类型转换
逻辑幻象 5年前 回复TA
@utopiabyss i等于0 的话 在循环中就有0乘进去了 结果为 0
逻辑幻象 5年前 回复TA
@joker C语言没有平方运算符  只有i*i
xiaohouge 5年前 回复TA
@大胖子 @byman123 但是他定义的sum3就是浮点型,试了下把他的改成1(sum3+=1/i;)然后在下面加一段printf("%lf\n",sum3);每次循环输出都是小数啊,并不是0啊