要求二
題目 14、1--7-1 數組中偶數的和
1、實驗代碼
#include <stdio.h> int main(void){ int i,sum=0; int a[10]; for(i=0;i<10;i++){ scanf("%d",&a[i]); } for(i=0;i<10;i++){ if(a[i]%2==0) sum=sum+a[i]; } printf("s=%d",sum); return 0; }
2、設計思路
(1)主要描述
第一步:審題,帶着題干給的輸入輸出格式去思考,打出大體框架。
第二步:定義一個大的數組空間a[10],在定義循環需要的整型變量i,sum(和)。
第三步:使用for循環將數組中的數據輸入進去,如果滿足a[i]%2==0,則證明輸入的這個數據是偶數,滿足后在循環中進行加和。
第四步:循環到數據空間到頭時候,結束,輸出數組中偶數的和sum。
(2)流程圖
3、本題調試過程碰到的問題及解決辦法
提示截圖:
解決:此題沒有什么問題,可以用多種方式寫出來、
題目 14、2--7-1求最大值及其下標
1、實驗代碼
#include <stdio.h> int main(void) { int i,index,n; printf("Enter n:"); scanf("%d",&n); int a[n]; printf("Enter %d integers:",n); for(i=0;i<n;i++) scanf("%d",&a[i]); index=0; for(i=0;i<n;i++) if(a[i]>a[index]) index=i; printf("max is %d\n index is %d\n",a[index],index); return 0; }
2、設計思路
(1)主要描述
第一步:審題,帶着題干給的輸入輸出格式去思考,打出大體框架。
第二步:定義變量i,index(下標標示),max(最大值),定義數組a[n]。
第三步:使用for循環輸入數據,讓index=0相當於保證輸入的數據從第一個開始。
第四步:再次使用for循環,用if語句判斷出符合要求的數組中的數據,如果a[i]>a[index],那么就進行交換,保證max一直最大。
第五步:最后輸出最大值及其下標。
(2)流程圖
3、本題調試過程碰到的問題及解決辦法
錯誤提示截圖:
解決:那個max沒有給出定義,還有沒有初始輸入,要先輸入數據的。我也在百度上看了這道題的代碼,又經過問同學解決的。
題目 15、1--7-2方陣左下角元素的和
1、實驗代碼
#include <stdio.h> int main(void) { int i,j,sum=0; int a[4][4]; for(i=0;i<4;i++) { for(j=0;j<4;j++) { scanf("%d ",&a[i][j]); if(j<=i) {sum=sum+a[i][j];} } } printf("%d",sum); return 0; }
2、設計思路
(1)主要描述
第一步:審題,帶着題干給的輸入輸出格式去思考,打出大體框架。
第二步:定義變量i,j,sum,同時定義一個數組a[4][4]就相當於申請這么大一個空間。
第三步:定位出j<=i的位置,使用for的多層循環輸入符合要求的數據,進行循環累加。
第四步:最后輸出方陣左下角元素的和sum。
(2)流程圖
3、本題調試過程碰到的問題及解決辦法
錯誤提示截圖:
解決:雖然在Dec++上沒有錯誤,但在PTA上是不正確的,此題由於做PTA時忘記了截圖。在c++上沒有錯誤說明程序寫的沒有錯誤,但在PTA上由於和題意不符,所以會編譯錯誤,經過檢查發現如上圈出來的問題,題意要求輸入4行4列的方陣,每行第一個數前沒有空格,每行的每個數之間各有一個空格。但是我的並沒有空,還有就是第二個圈點出來的那個,輸出不能放入循環體里。
題目14--7-4 fibonacci數列
1、實驗代碼
#include <stdio.h> int main(void){ int i; int fib[12]={1,1}; printf("%6d",fib[0]); printf("%6d",fib[1]); for(i=2;i<12;i++){ fib[i]=fib[i-1] + fib[i-2]; printf("%6d",fib[i]); if((i+1)%3 == 0){ printf("%c",'\n'); } } return 0; }
2、設計思路
(1)主要描述
第一步:審題,帶着題干給的輸入輸出格式去思考,打出大體框架。
第二步:定義一個數組為十二的空間,直接給出第一個數據,第二個數據的值,定義整型變量i。
第三步:根據要求,沒有輸入,利用for循環和if進行判斷。
第四步:輸出 使用%6d的格式輸出;注意輸出最后一個數字后,有一個換行。所以用%6d輸出結果。
(2)流程圖
3、本題調試過程碰到的問題及解決辦法
提示截圖:
解決:這個題目老師上課講過的,通過自己敲及看老師的ppt,思考解決出來的。
提交列表:
要求三
上傳截圖:
我的coding地址:http://coding.net/u/linmeng123
要求四
個人總結
(1)我學習到的內容:本周主要學習了數組,先學習了數組的定義,數組元素的引用,數組的初始化,及一些對應的程序。我們從一維數組開始學起,逐漸深入學習了二維數組,還學習了選擇法排序及重要的冒泡排序,及一些數組中的數逆序存放,記錄下標一些程序。
我的收獲:讓我覺得用數組,比以往老式寫代碼方便多了,用起來很好,本周我最大大收獲就是學習了數組,及其對它的應用,使得我對編程進一步產生了興趣。本周我覺得收獲最大的就是上一次課,老師帶着一邊敲,一邊提問,讓同學來說,並一步一步來改,我聽懂了好多,感覺平時光聽效率高很多,希望以后多一些這種方式上課。
(2)我認為的難點:選擇法和冒泡法不太理解,有點復雜,可能是我沒有真正理解,如果理解可能一環套一環很簡單吧。
不明白的:復雜一點的我總是蒙,可能我內心存在對復雜程序的恐懼,但每一次PTA作業我都自己努力去做,但每次都是有錯誤,都是找會的同學,幫我改半天。不明白的就是帶有復雜的,比如冒泡和選擇排序。別的看看還能扣明白。
要求五
互評和學習進度
1、點評的同學:
孫娜:http://www.cnblogs.com/sun-na-/
張樂;http://www.cnblogs.com/1999-09-22/
汪志恆:http://www.cnblogs.com/wangzhiheng/
截圖
2、表格
時間 | 代碼行數 | 代碼時間 | 博客字數 | 博客時間 | 知識點 |
11.10 | 30 | 15 | 0 | 0 | for |
11.15 | 35 | 22 | 150 | 15 | for,交換,記錄下標 |
11.17 | 46 | 35 | 260 | 45 | 選擇,冒泡排序 |
11.19 | 50 | 60 | 300 | 90 | 矩陣,循環移動 |
折線圖