#include <stdio.h>
int main(void) {
double x
double sum = 1
if ((scanf("%lf", &x)) == 1 &&x >1) {
double t = 1 / x
while (t >= 0.000001) {
sum += t
t /= x
}
printf("%f\n", sum)
}
else
puts("输入错误")
return 0
}
你前面写的那个式子就有问题,怎么又7+8+9了?从程序来看,最里面的循环是求每一个加数,例如N为5,那么就有5个加数,分5次循环求得这5个加数。由于第一个加数是1,所以循环中没有求第一个加数,而是直接从第二个加数开始求,这也就是你所问的t=1时,f=2,由于j从0循环到i(包含),也就是,也就是i+1个数相乘,例如i=1时,所求加数就是2*3
j就是一个循环控制变量,控制乘数的大小
外面一层循环就是将加数求和
#include "stdio.h"
int main()
{
int sum=0
int i,mark=1,item
for(i=1i++)
{
item=mark*i*(i+1)
sum+=item
mark=-mark
if(sum>999 && i%2==1)
break
}
printf("i=%d,sum=%d\n",i,sum)//i表示哪一项,sum表示此时各项之和
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)