解题思路以及注意事项:
注意前面用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分
82 人评分
#include <math.h> #include <stdio.h> int main() { int a, b, c; scanf("%d %d %d", &a, &b, &c); float n=0; for (float i = 1; i <= c; i++) { n += 1 / i; } float sum = (1 + a)*a / 2.0 + b * (b + 1)*(2 * b + 1) / 6.0 + n; printf("%.2f", sum); return 0; } 把a和b的部分用公式代替,减少计算量和代码量他不香吗?
#include<stdio.h> main(){ double sum1,sum2,sum3; int a,b,c,i; scanf("%d %d %d",&a,&b,&c); for(i=1;i<=a;i++) { sum1=sum1+i; } for(i=1;i<=b;i++) { sum2=sum2+i*i; } for(i=1;i<=c;i++) { sum3=sum3+1.0/i; } printf("%.2lf",sum1+sum2+sum3); } 为啥总显示答案错误呢
#include<stdio.h> #include<math.h> int main() { float a,b,c,i,sum=0,x=0; float d=0,n=0; printf("%f %f %f",&a,&b,&c); for(i=0;i<=a;i++) { sum=sum+i; } for(i=0;i<=b;i++) { x=x+(i*i); } for(i=0;i<=c;i++) { d=d+1.0/i; } n=sum+x+d; printf("%.2f",n); return 0; } 为什么显示答案错误呢
1~b的平方和 1^2+2^2+...+b^2题目给的这,为什么代码里是 i * i
a,b,c 输入格式里都是整数啊,然后用整型就会差一些是为什么啊
diaobao 2019-12-20 13:44:26 |
#include <stdio.h> int main() { int a,b,c,i; int suma=0,sumb=0; float sumc=0; while(~scanf("%d%d%d",&a,&b,&c)) { for(i=1;i<=a;i++) suma+=i; for(i=1;i<=b;i++) sumb+=i*i; for(i=1;i<=c;i++) sumc+=1.0/i; printf("%.2f ",suma+sumb+sumc); } return 0; }
#include <stdio.h> int main() { double a, b, c; double an = 0, bn = 0, cn = 0; double sn = 0; double i = 0; scanf("%lf%lf%lf", &a, &b, &c); for (i = 0; i <= a; i++) { an += i; } for (i = 0; i <= b; i++) { bn += i * i; } for (i = 0; i <= c; i++) { cn += 1.0 / i; } sn = an + bn + cn; printf("%.2lf", sn); return 0; }
#include<stdio.h> int main() { float max3,max; int a,b,c,i,max1,max2; printf("input a:\n"); scanf("%d",&a); printf("input b:\n"); scanf("%d",&b); printf("input c:\n"); scanf("%d",&c); for(i=1;i<=a;i++) { max1=0; max1=i+max1; } for(i=1;i<=b;i++) { max2=0; max2=max2+i*i; } for(i=0;i<=c;i++) { max3=0; max3=max3+1/i; } max=max1+max2+max3; printf("%f\n",max); return 0; } 为什么不报错 却无法运行呢
小白一枚 2019-11-15 20:03:21 |
你把max1 max2 max3 在每次循环都初始化为0 那你累加不就无用了吗
#include<stdio.h> int main() { int a,b,c,i,m,n; double sum1=0,sum2=0,sum3=0,sum=0; scanf("%d%d%d",&a,&b,&c); for(i=a;i>0;i--) { sum1+=a; a-=1; } for(m=b;m>0;m--) { sum2+=b*b; b-=1; } for(n=c;n>0;n--) { sum3+=1.0/c; c-=1; } sum=sum1+sum2+sum3; printf("%0.2lf",sum); return 0; }
矩阵转置 (C语言代码)浏览:1522 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:927 |
川哥的吩咐 (C语言代码)浏览:871 |
简单编码 (C++代码)浏览:675 |
【出圈】 (C语言代码)浏览:553 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:567 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:612 |
C语言程序设计教程(第三版)课后习题6.6 (C++代码)浏览:624 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:647 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:703 |