原题链接:[编程入门]求和训练
解题思路以及注意事项:
注意前面用double定义后面输出就得用%lf。
注意循环开始和结尾,否则容易出错。
实例代码:
#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;
}还有什么不懂的请在下面评论区留言,小方会及时为您解答
0.0分
64 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#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; } 各位大神哪里错了,请赐教#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; }@大胖子 @byman123 但是他定义的sum3就是浮点型,试了下把他的改成1(sum3+=1/i;)然后在下面加一段printf("%lf\n",sum3);每次循环输出都是小数啊,并不是0啊