C语言解决累加和累乘问题
怎么求解累加和累乘问题?
用循环
找出要累加和累乘的数据项及通式。
找出数据项中有规律变化的数据;用循环变量表示。
找出循环变量的起始项数;
确定循环条件;
确定循环体内的语句。
和变量初值一般为0;积变量初值一般为1.
1.
#include <stdio.h>
int main()
{ int k;
  float s;
  s=0;
  for(k=1;k<=100;k++)  s+=k;
  for(k=1;k<=50;k++)  s+=k*k;
  for(k=1;k<=10;k++)  s+=1.0/k;
  printf("s=%4.2f\n",s);
  
  
    
    return 0;
}
 2.s=1+(1+)+(1++)+........+(1++..........)
#include <stdio.h>
#include<math.h>
int main()
{ double s,t;
  int i,n;
  s=0;t=0;
 scanf("%d",&n);
  for(i=1;i<=n;i++) 
     {  t=t+sqrt(i);
           s=s+t;
     }
  printf("s=%6.2f\n",s);
  return 0;}
3.求s的值,s=1+x+/2!+/3!+......./n!+......|/n!|<
#include <stdio.h>
#include <math.h>
int main()
{double s,t,f,x;
 int i=0;
 s=0;t=1;f=1;
 scanf("%lf",&x);
 while(fabs(t)>=1E-6)
  {   s=s+t;
      i++;
      f=f*i; /*累成求分母*/
      t=pow(x,i)/f;} /*累加通式*/
  printf("s=%6.2f\n",s);
 return 0;}
4.求满足如下条件的最大值n.++..........+<=1000
#include <stdio.h>
#include <math.h>
int main()
{
 int i=0;
 int s=0;
 do
  { i++;
    s=s+i*i; /*累加通式*/
  }while(s<=1000);
  printf("s=%d,n=%d\n",s-i*i,i-1);
 return 0;}
- 点赞
- 收藏
- 关注作者
 
             
           
评论(0)