C语言求级数前n项和

标题C语言求级数前n项和

用函数的方法编写一个求级数前n项和的程序:S=1+(1+3)+(1+3+5)+…+(1+3+5+…+ (2n-1))。输入每行输入一个正整数n(1<=n<=1000),n为0则结束输入。输出与输入相对应,逐行输出对应的求和结果S。S=1+(1+3)+(1+3+5)+…+(1+3+5+…+ (2n-1))。样例输入
1
2
3
5
0
样例输出
1
5
14
55
代码:

##include<stdio.h> //公式求和函数
int sumf(int n)
{  int s=0,t=0,i; 
 for(i=1;i<=n;i++)   
  {     t=t+(2*i-1);       
        s=s+t;    }    
        return s;}
int main(void)
{    
int n,sum,k,z,h;    
int narray[100];//默认最多可输入100个数字吧;    
int sumarray[100];    
scanf("%d",&n);//开始计算并存入数组中;    
for(z=0;z<=100;z++)
{
        if(n==0){k=z-1;break;}//输入0后按enter键跳出该循环即结束输入,转到输出结果for循环;        
        narray[z]=n;        
        sumarray[z]=sumf(narray[z]);        
        scanf("%d",&n);      }      
        for(h=0;h<=k;h++)
        {         printf("%d\n",sumarray[h]);      
        }    
        return 0;
        } 

猜你喜欢

转载自blog.csdn.net/weixin_43752257/article/details/84310751