解题思路以及注意事项:

  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 条评论

小锋 7年前 回复TA
}#include <stdio.h>
int main()
{
	int  i;
	float a,b,c;
	float  j=0;
	float q=0;
	float	w=0;
	float d;
	scanf("%f%f%f",&a,&b,&c);
	for(i=1;i<=a;i++)
	{
		j=j+i;
	}
	
	  for(i=1;i<=b;i++)
	  { 
		  i=i*i;
		  q+=i;
	  }	  
	  
	  for(i=1;i<=c;i++)
	  {
		  i=1/i;
		  w+=i;
	  }

	  
	 
	 
		d=j+q+w;
	printf("%.2f\n",d); 
	  
	
       
	  return 0;
}
你好 为什么我这样写就没有结果,而把for中写成一条表达式就有正确的值出来,例如w+=1/i; 这样输出的结果才是正确的,想不明白 不是一样的吗?
细水爱长流 7年前 回复TA
@陈雨斌 因为输出是浮点数,所以定义数据类型的时候,是不是就必须直接定义成double
Mister-小方 7年前 回复TA
@陈雨斌 恩呢
陈雨斌 7年前 回复TA
@陈雨斌 搞错了……
陈雨斌 7年前 回复TA
# include <stdio.h>
int main (void)
{
	double a , b , c ,i;
	double sum , sum_a , sum_b , sum_c ;
	sum = sum_a = sum_b = sum_c = 0;
	scanf ("%lf %lf %lf" , &a , &b , &c);
	for (i = 1 ; i <= a ; i++)
	{
		sum_a += i;
	}
	for (i = 1 ; i <= b ; i++)
	{
		sum_b += i * i;
	}
	for (i = 0 ; i <= c ; i++)
	{
		sum_c += 1/c;
	}
	sum = sum_a + sum_b + sum_c ;
	printf ("%.2lf\n" , sum );

	return 0;
}

这有错吗?
为什么得不到题中的结果