題目
題目一:求交錯序列前N項和
1.實驗代碼
#include <stdio.h> int main() { int n , i , b ; double sum = 0 , a , c ; scanf("%d",&n); a = 1; b = 1; for( i = 1 ; i <= n ; i++) { c = a * i / b; sum += c; a = -a; b += 2; } printf("%.3f",sum); }
2.設計思路
①算法
第一步:定義變量。
第二步:輸入序列項的數目n。
第三步:使用循環語句,i的初始值為1,當i小於等於項數N時,循環繼續,c = a * i / b (c為序列中每一項的值,a的值用來確定每一項的正負,i表示每一項的分子,b表示每一項的分母),sum = sum + c (計算序列和,sum初始值為1),a = -a(序列中奇數項為正,偶數項為負,a初始值為1),b = b + 2(相鄰兩項中,后一項比前一項大2,b初始值為1).
第四步:輸出sum(即序列的前n項和)。
②流程圖
3.本題未遇到問題
4.本題PTA提交列表
題目二:統計學生平均成績及及格人數
1.實驗代碼
#include<stdio.h> int main() { int n , i , count = 0; int a[10001]; double average , sum; scanf("%d",&n); for( i = 0 ; i < n ; i++) { scanf("%d",&a[i]); sum += a[i]; if( a[i] >= 60) { count++; } } if(n>0) { average = sum / n; } printf("average = %.1f\n",average); printf("count = %d\n",count); }
2.設計思路
①算法
第一步:定義變量。
第二步:輸入學生人數n。
第三步:使用循環語句,i的初始值為0,當i < n時,循環繼續,輸入a[i](a[i]為學生的成績組),sum = sum + a[i](sum為學生成績之和)。
第四步:判斷n > 0時(有學生存在),平均成績 = 成績總和 / 人數。
第五步:輸出平均成績和及格人數。
②流程圖
3.本題調試過程所遇問題
思考不夠全面,沒有考慮到沒有學生存在的情況。
截圖
解決方法:在最后運算前補充一個選擇結構,只有學生數大於0時才會有結果輸出。
4.本題PTA提交列表截圖
我的git地址:https://git.coding.net/dx200798/seventh.git
項目截圖
個人總結
本周學習內容:
本周簡單學習了數組,練習運用了三種循環語句。
疑點難點:
對循環語句的互相嵌套的應用還不夠熟練。
互評和學習進度
互評鏈接
鏈接一:http://www.cnblogs.com/lixiaojing/p/7798963.html
鏈接二:http://www.cnblogs.com/phsudie/p/7837488.html
鏈接三:http://www.cnblogs.com/wxy5336/p/7828100.html
圖表(修改)