解题思路以及注意事项:
注意前面用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<stdio.h> #include<math.h> int main() { double a,b,c,i,d,e,f; d=0; e=0; f=0; scanf("%lf%lf%lf",&a,&b,&c); for(i=1;1<=a;i++) { d=d+i; } for(i=1;i<=b;i++) { e=e+pow(i,i); } for(i=1;i<=c;i++) { f=f+1.0/i; } printf("%.2lf\n",(d+e+f)); return 0; } 为什么输不出结果呢
/*求以下三数的和,保留2位小数 1~a之和 1~b的平方和 1~c的倒数和 1+2+...+a + 1^2+2^2+...+b^2 + 1/1+1/2+...+1/c*/ #include <stdio.h> int main() { double i, sum = 0,cum=0,hum=0,zum=0; int a,b,c; scanf("%d%d%d", &a,&b,&c); for (i = 1; i <= a; i++) { sum = sum + i; } for (i = 1; i <= b; i++) { cum = cum + i * i; } for (i = 1; i <= c; i++) { hum = hum + (1 / i); } zum = sum + cum + hum; printf("%.2f", zum); }
#include<stdio.h> 为什么我的又不给过? int main() { int a,b,c,i; float S=0; scanf("%d,%d,%d",&a,&b,&c); for(i=1;i<=a;i++) { S+=i; } for(i=1;i<=b;i++) { S+=i*i; } for(i=1;i<=c;i++) { S+=1/(float)i; } printf("%.2f\n",S); return 0; }
FeiYang 2021-11-23 16:51:25 |
我把int全换成float,他就给我过了
wurui 2021-12-02 21:44:50 |
scanf %d后面不加逗号
热爱自动化007 2022-03-14 19:57:43 |
三个数列的和,不能只用一个S,要分开
uq_55582603613 2022-11-02 16:20:31 |
不是i的i次幂,是平方
#include<stdio.h> int main() { double a,b,c,i,sum=0; scanf("%f%f%f",&a,&b,&c); for(i=1;i<=a;i++)sum +=i; for(i=1;i<=b;b++)sum +=i*i; for(i=1;i<=c;c++)sum +=1/i; printf("%.2f",sum); return 0; }感觉自己写的东西太短,但找不到问题,大佬帮我康康
为什么输出的结果不对? #include<stdio.h> int main() { int a,b,A=0,B=0,C=0,i; double d,c; scanf("%d%d",&a,&b); scanf("%lf",&c); for(i=1;i<=a;i++) { A+=i; } for(i=1;i<=b;i++) { B+=i*i; } for(i=1;i<=c;i++) { C+=1/i; } d=A+B+C; printf("%.2lf",d); return 0; }
#include<stdio.h> int main() { float a,b,c,x=0,y=0; float z=0.00,i; scanf("%f %f %f",&a,&b,&c); for(i=1;i<=a;i++) x+=i; for(i=1;i<=a;i++) y+=(i*i); for(i=1;i<=a;i++) z+=(1.0/i); float sum; sum=x+y+z; printf("%0.2f\n",sum); return 0; } //为什么提示答案错误,对的啊
南林夕 2021-10-10 13:25:12 |
答案本来就是错误的,3个for循环取值范围都是1-a了,应该分别为 1-a 1-b 1-c
#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不是正确答案,哪里出错了呀
uq_16461827833 2021-09-25 18:00:36 |
因为你最后一个sum3那个for循环,把C写错为B了
C二级辅导-同因查找 (C语言代码)浏览:553 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:677 |
C二级辅导-进制转换 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:507 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:956 |
C语言考试练习题_一元二次方程 (C语言代码)浏览:574 |
C语言训练-亲密数 (C语言代码)浏览:682 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:520 |
愚蠢的摄影师 (C++代码)浏览:932 |
矩阵乘方 (C语言代码)浏览:1021 |
白色卷心菜 2022-02-23 22:23:51 |
pow没对吧,求得是平方和,不是i的i次幂
琴海 2022-03-18 10:45:52 |
对,应该是pow(i,2)