C语言分数求和1+1/2+1/3+1/4+...+1/n,不知道怎么去定义这个分数,分不清楚这个变量
你这问题多了
1.i和n应该是int型
2.不要在循环体里修改i的值,换个变量来做这件事
3.1/n改为1.0/n
4.如果题目对精度有要求,那么sum的类型应该改为double
float i修改为int i
i<=1/n修改为i<=n
下面i=1/n删除
sum=sum+1/(float)n;
line 7:n的类型是int,占位符用%d
line 8:从这个表述来看,根本进不了循环,另外++的项也有问题,应该是i
line 9/10:循环体有问题……
#include <stdio.h>
int main() {
int n;
float i;
float sum = 0;
printf("请输入整数\n");
scanf("%d", &n);
for(i = 1; i <= n; i++) {
sum += 1 / i;
}
printf("sum = %f", sum);
return 0;
}
修改如下,供参考:
#include <stdio.h>
int main() {
int n, i; //修改
double sum = 0; //修改
printf("请输入整数\n");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += 1.0 / i; //修改
}
printf("sum = %f", sum);
return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话: