第六周編程總結


題目1. 求N分之一序列前N項和

本題要求編寫程序,計算序列 1 + 1/2 + 1/3 + ... 的前N項之和

1).實驗代碼

#include<stdio.h>
int main()
{
  int N,i;  
  double sum;
  scanf("%d",&N);
  sum=0;                        //初始化sum
  for(i=1;i<=N;i++)            //累加i的值
  sum+=1.0/i;                 //累加求和
  printf("sum = %.6f",sum);
  return 0;
}

2). 設計思路

第一步:定義變量
第二步:輸入變量
第三步:調用for語句
第四步:累加求和
第五步:輸出答案

3).本題調試過程碰到的問題及解決方法

問題:計算的答案錯誤
解決方法:累加求和時將1更改為1.0

4).運行結果截圖

題目2. 求奇數分之一序列前N項和

本題要求編寫程序,計算序列 1 + 1/3 + 1/5 + ... 的前N項之和。

1)實驗代碼

   #include<stdio.h>
int main()
{
  int N,i;
  double sum;
  scanf("%d",&N);
  sum=0;                    //初始化sum
  for(i=1;i<=N;i++)           //累加i的值
      sum+=1.0/(2*i-1);      //累加求和      
  printf("sum = %.6f",sum);  
  return 0;
}

2).設計思路

第一步:定義變量
第二步:輸入實數
第三步:調用for語句
第四步:累加求和
第五步:輸出答案

3).本題調試過程碰到的問題及解決方法

問題:分式的分母錯誤
解決方法:更正分母

4).運行結果截圖

題目3. 求簡單交錯序列前N項和

本題要求編寫程序,計算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N項之和。

1).實驗代碼

#include<stdio.h>
#include<math.h>
int main()
{
  int N,i,y,x;
  double d,sum;              //d為每一項的值,sum為和
  scanf("%d",&N);
  x=1;                         // 初始化x,y,sum
  y=1;
   sum=0;            
  for(i=1;i<=N;i++){        //累加i的值
    d=x*1.0/y;             //計算每一項的值
    sum+=d;             //累加求和
    y+=3;
    x=-x;               //改變符號,為下次循環做准備    
}  
  printf("sum = %.3f",sum);  
  return 0;  
}

2).設計思路

第一步:定義變量
第二步:調用for語句
第三步:計算每一項的值
第四步:累加求和
第五步:輸出答案

3).本題調試過程碰到的問題及解決方法

問題:變量沒有進行初始化
解決方法:將變量進行初始化

4).運行結果截圖

題目4. 求平方與倒數序列的部分和

本題要求對兩個正整數m和n(m≤n)編寫程序,計算序列和m​2​​+1/m+(m+1)​2​​+1/(m+1)+⋯+n​2​​+1/n。

1).實驗代碼

#include<stdio.h>
#include<math.h>
int main()
{
  int m,n,i;          
  double sum;  
  scanf("%d %d",&m,&n);               //輸入整數m,n
sum=0;
  for(i=m;i<=n;i++)                 //累加i的值
  {    
    sum+=pow(i,2)+1.0/i;          //累加求和
  }
  printf("sum = %.6f",sum);
  return 0;  
}

2).設計思路

第一步:定義變量
第二步:輸入變量
第三步:調用for語句
第四步:累加求和
第五步:輸出答案

3).本題調試過程碰到的問題及解決方法


問題:變量初始化位置輸入錯誤
解決方法:將初始化語句放在for語句外

4).運行結果截圖

題目5. 求交錯序列前N項和

本題要求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。

1).實驗代碼

#include<stdio.h>
int main()
{
  int m,N,i,f,d;                 
  double y,sum;                 //y為每一項的值,sum為和
  scanf("%d",&N);
  sum=0;                        //初始sum,f,d,m
  f=1;                     
  d=1;
  m=1;
  for(i=1;i<=N;i++){              //累加i的值
    y=f*m*1.0/d;                 //計算每項的值
    sum+=y;                     //將每項累加
    m++;
    d+=2;      
    f=-f;                     //改變符號,為下次循環做准備
  }
  printf("%.3f",sum);
  return 0;
}

2).設計思路

第一步:定義變量
第二步:調用for語句
第三步:計算每項的值
第四步:累加求和
第五步:輸出答案

3).本題調試過程碰到的問題及解決方法

問題:輸出格式錯誤
解決方法:按輸出樣例重新輸出

4).運行結果截圖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM