(1)求n分之一序列前n项和:输入一个正整数n,计算序列1+1/2+1/3+···的前n项和。
输入输出示例
Enter n:6
sum = 2.450000
#includeint main(void){ int i,n; double sum; printf("Enter n:"); scanf("%d",&n); sum=0; for(i=1;i<=n;i++){ sum+=1.0/i; } printf("sum=%lf",sum); return 0; }
(2)求奇数分之一序列前n项和:输入一个正整数n,计算序列1+1/3+1/5+···的前n项和。
输入输出示例
Enter n:23
sum = 2.549541
#includeint main(void){ int i,n; double sum; printf("Enter n:"); scanf("%d",&n); sum=0; for(i=1;i<=2*n;i=i+2){ sum+=1.0/i; } printf("sum=%lf",sum); return 0; }
(3)求简单交错序列前n项和:输入一个正整数n,计算序列1-1/4+1/7-1/10···的前n项和。
输入输出示例
Enter n:10
sum = 0.819
#include#include int main(void){ int i,n,count=0; double sum,add; printf("Enter n:"); scanf("%d",&n); sum=0; for(i=1;i<=3*n;i=i+3){ add=1.0/i; sum=sum+add*pow(-1,count); count++; } printf("sum=%0.3lf",sum); return 0; }
易错点:
for(i=1;i<=n;i=i+2)
题目为前n项和,在书写代码时,容易把范围限定为n,但(2)(3)两题 i 的step不为1,举例:如果for(i=1;i<=n;i=i+2) 第二题计算的是前12项。



