解题思路以及注意事项:
注意前面用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分
67 人评分
#include<stdio.h> #include<math.h> int main() { int a, b, c,an=0,bn=0,i,j,k; float cn=0,sum=0; scanf_s("%d%d%d", &a, &b, &c); for (i = 1; i <= a;i++) an += i; for (j = 1; j <= b; j++) bn += pow(j, 2); for(k=1;k<=c;k++) cn += 1.0 / k; sum = an + bn + cn; printf("%d\t", an); printf("%d\t", bn); printf("%f\n", cn); printf("%.2f\n", 1.0 * sum); } 大佬们,我这个为什么显示答案错误啊
#include<stdio.h> int main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); int temp1=0,temp2=0; float temp3=0; for(int i=1;i<=a;i++) { temp1=temp1+i; } for(int i;i<=b;i++) { temp2=temp2+i*i; } for(int i;i<=c;i++) { temp3=temp3+1.0/i; } printf("%.2f\n",temp1+temp2+temp3); return 0; } 为什么运行不对啊! 有人可以解释一下吗?
uq_61560519501 2022-08-02 11:26:38 |
好像C语言定义变量只能放在前面
Abyss 2022-11-03 21:04:52 |
第二、三个i没有赋初值,第一个执行完后i的值已经不是1了
#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; }