解题思路以及注意事项:

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

阡陌 3年前 回复TA
#include<stdio.h>
int main()
{
	double a,b,c,i, sum1=0,sum2=0,sum3=0,sum=0;
	scanf("%lf %lf %lf",&a,&b,&c);
	
	for(i=1;i<=a;i++){
		sum1+=i;
	}
	for(i=1;i<=b;i++){
		sum2+=i*i;
	}
	for(i=1;i<=b;i++){
		sum3+=1.0/i;
	}
	
    sum=sum1+sum2+sum3;
	printf("%0.2lf",sum);
	return 0;
 } 
为什么我的代码代入100 50 10不是正确答案,哪里出错了呀
Innocence 3年前 回复TA
@lulu 输出浮点数,你的输出是整数
奇奇妙能力 3年前 回复TA
@lulu sum3 =sum3+1.0/i     试试
奇奇妙能力 3年前 回复TA
@wang122 这里的i是浮点数,所以这里不一定要用(算子有一个是浮点数这个表达式结果就是浮点结果)
wang122 3年前 回复TA
为什么一定用1.0呢
lulu 3年前 回复TA
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b,c,i=1,sum1=0,sum2=0,sum3=0,sum=0;
    scanf("%d%d%d",&a,&b,&c);
    while(i<=a)
       {
         i=i+1;
         sum1=sum1+i;
       }
    while(i<=b)
    {
        i=i+1;
        sum2=sum2+i*i;
    }
    while(i<=c)
    {
        i=i+1;
        sum3=sum3+1/i;
    }
    sum=sum1+sum2+sum3;
    printf("%d",sum);
    return 0;
}
搞了半天就是不知道错在哪里?求大神指点
勤勤恳恳 4年前 回复TA
@勤勤恳恳 @18726077 感谢!
苏沐橙 4年前 回复TA
#include<stdio.h>
int main(void)
{
    double a, b, c, i, j, k, sum1 = 0, sum2 = 0, sum3 = 0, sum;
    scanf("%lf %lf %lf",&a, &b, &c);
    for(i=1; i<=a; i++)
    {
        sum1 = sum1 + i;
    }
    for(j=1; j<=b; j++)
    {
        sum2 = sum2 + j * j;
    }
    for (k=1; k<=c; k++)
    {
        sum3 = sum3 + 1/k;
    }
    sum = sum1 + sum2 + sum3;

    printf("%0.2lf",sum);
    return 0;
}
我要年薪30w 4年前 回复TA
#include<stdio.h>
int main()
{
    int a,b,c,sum,p,i;
    double d,S;
    scanf("%d %d %d",&a,&b,&c);
    sum=p=d=0;
    for(i=1;i<=a;i++){
        sum+=i;
    }
    for(i=1;i<=b;i++){
        p+=i*i;
    }
    for(i=1;i<=c;i++){
        d=d+1.0/i;

    }
    S=sum+p+d;
    printf("%.2lf\n",d);
    printf("%.2lf",S);
    return 0;
}
余烟 4年前 回复TA
#include<stdio.h>
void main()
{
	int a,b,c,i,j,k;
	double Sn1=0,Sn2=0,Sn3=0,Sn;
	scanf("%d%d%d",&a,&b,&c);
	for(i=0;i<a;i++)
	{ a=a+1;
	Sn1=Sn1+a;}
	for(j=0;j<b;j++)
	{ b=(b+1)^2;
	Sn2=Sn2+b;
	}
	for(k=0;k<c;k++)
	{
		c=1.0/(c+1);
	Sn3=Sn3+c;
}
Sn=Sn1+Sn2+Sn3;
printf("%.2f\n",Sn);
}
为什么陷入死循环,运行不出来结果呢