要求二
(三)題目7-3求交錯前N項和
1.實驗代碼
#include <stdio.h> int main() { int N,i; int flag=-1; double s=0; scanf("%d",&N); for (i=1;i<=N;i++) { flag=-flag; s=s+i/(2.0*i-1.0)*flag; } printf("%.3lf",s); return 0; }
2.設計思路
(1)主要題目算法
逆推法 求1-2/3+3/5-4/7+...;
.——找出通項公式s=s+i/(2*i-1)乘以(-1)的n次冪;
——(-1)的n次冪不太會就相應換成變量flag,讓fiag=-flag循環與公式相乘——把公式放入循環語句中須在(i=1;i<=N;i++)的條件下;
————定義變量N,i,flag=1,浮點型變量s;
(2)流程圖
3.本題調試過程中遇到的問題及解決方法。
錯誤截圖
遇到的問題:不知道怎樣才能輸入‘+’ ‘—’連續的循環式子?(在之前我上網查找如何加入指數冪的形式結果還是不對)
解決方法:老師上課的ppt中有提到 在定義一個變量flag,讓flag=-flag放在循環語句中就可以實現。
4.本題pta提交列表
(五)統計學生平均成績及及格人數
1.實驗代碼
#include <stdio.h> int main() { int N,count,i,grade; double average=0; double s=0; scanf("%d\n",&N); for(i=1;i<=N;i++) { scanf("%d",&grade); s=s+grade; average=s/N; if (grade>=60){ count++;} } printf("average = %.1lf\n",average); printf("count = %d",count); }
2.設計思路
(1)主要題目算法
第一步:定義整型變量N,count,i,grade,浮點型變量average=0,s=;
第二步:(s=s+grade,average=s/N,)式子在i=1;i小於所輸入的N;i++的條件循環;
第三步:在循環框中加入條件(grade>=60)的時候count=count+1;
第四步:確定輸出條件以及小數點保留幾位;
(2)流程圖
3.本題調試過程中碰到的問題及解決辦法
錯誤截圖
遇到的問題:在devc++中編譯正確,而在pta中是部分正確。
解決方法:經過自己的反復觀察,發現其中要求grade>=60,而我輸入grade<60。
4.pta提交列表
要求三(額外作業)
一. 題目7-1 1-100求和
1.實驗代碼
#include <stdio.h> int main() { int i=1; int sum=0; while (i<=100){ sum=sum+i; i=i+1; } printf("sum = %d",sum); return 0; }
2.設計思路
(1)題目算法
第一步:定義變量sum為總和,i為循環語句中的次數;
第二步:根據題意鎖定公式s=s+i;
第三步:i++循環,輸出總和sum。
(2)流程圖
3 本題無錯誤
4.本題pta錯誤提交列表
二 題目 7-2求奇數分之一序列前N項和
1.實驗代碼
#include <stdio.h> int main() { int n; int N=1; double sum=0; scanf("%d",&n); while (N<=n){ sum=1.0/(2.0*N-1)+sum; N=N+1; } printf("sum = %.6f",sum); return 0; }
2.設計思路
(1)題目算法
第一步:定義變量n(可人為的輸入值)sum(總和)N(循環變量);
第二步:在(n<=N)遵循 循環公式(sum=1/(2*N-1)+sum);
第三步:輸出sum並且保留小數點六位。
(2)流程圖
3.本題無提交錯誤
4本題pta提交列表
三.題目7-4找出最小值
1.實驗代碼
#include<stdio.h> int main(void) { int n,i,l,min; scanf("%d",&n); scanf("%d",&l); min=l; for(i=1;i<n;i++){ scanf("%d",&l); if(min>l) min=l; } printf("min = %d",min); return 0; }
2.設計思路
(1)解題思路
第一步:定義變量n,i,l,min;
第二步:在i=1,i<n,i++;的條件下(如果min>l則min=l;
第三步:輸出min。
(2)流程圖
4.pta提交列表
要求四
git地址:https://git.coding.net/hezongyan321/text.git
coding截圖
要求五
個人總結
(1)本周學習內容和收獲:
1.while 循環;
2.do while循環;
3.for循環;
4.循環的嵌套;
(2)本周所學內容中那些是難點:
do while的循環至少要執行一次;
while循環如果一次不滿足條件就不執行;
要求六
我評價的作業
王佳樂
徐敬騎
胡俊鮮
折線圖
表格