第14,15周作業
要求二
題目7-1數組中偶數的和
#include <stdio.h> int main() { int a[10]; int i,s=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); if (a[i]%2==0) { s=a[i]+s; } } printf("s=%d",s); return 0; }
2.設計思路
(1)題目算法
第一步:定義數組a[10],循環變量i,總和s。
第二步:定義變量初始值s=0;
第三步:找到循環體s=s+a[i],i++;
第四步:輸出s。
(2)流程圖
3.本題調試過程及解決方法
錯誤截圖
遇到問題:打不出正確結果。
解決方法:自己仔細琢麽反復實驗,最後敗在了沒有給s定義初始值上。
題目7-3將數組中的數逆序存放
1.實驗代碼
#include<stdio.h> int main() { int n; scanf("%d",&n); int i,a[n]; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=n-1;i>0;i--) printf("%d ",a[i]); printf("%d",a[0]); return 0; }
2.設計思路
(1)題目算法
第一步:定義變量n,i,a[n];
第二步:輸入循環結構(i=0,i<n;i++),並輸入a[i];
第三步:輸入另一個循環使程序逆向運行。(i=n-1;i<n;i--)
第四步:輸出a[i]以及a[0];
(2)流程圖
3遇到的問題及解決方法
錯誤截圖
遇到的問題:沒有完全理解提意。
解決方法:仔細閱讀題目,詢問了同學(他和我說直接定義一個i,後面的循環體需要換成(i=n-1,i<n;i--)),最後成功編譯出正確結果.
7-5冒泡法排序
1實驗代碼
#include <stdio.h> int main() { int N,K,i,j,x,t;
scanf("%d %d",&N,&K);
int a[N]; for(i=0;i<N;i++) { scanf("%d",&a[i]); } for(i=0;i<N;i++) { for(j=0;j<N-i-1;j++) { if(a[j+1] <a[j]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } x++; if(x==K) break; } for(i=0;i<N;i++) { if(i<N-1) { printf("%d ",a[i]); } else { printf("%d",a[i]); } } return 0; }
2 設計思路
(1)題目算法
第一步:定義循環變量i,j以及循環次數k,N,常變量t,數組a[N];
第二步:在(i=0;i<N;i++)的條件下輸入a[i];
第三步:比較a[0]與a[1];如果a[0]>a[1]則交換,否則不交換,以此類推直到把最大值放到最後;
第四步:在依次進行第二趟排序最大值放到第n-1個位置,共進行n-1趟排序。
第五步:輸出a[i];
(2)流程圖
3遇到的問題及解決方法
錯誤截圖
遇到的問題:不知道如何才能出現第幾次排序出現的結果
解決方法:增加一個變量x,在循環之後輸入,如果x=k,則直接跳出;
7-3 求矩陣的局部極大值
1.實驗代碼
#include <stdio.h> int main() { int M; int N; scanf("%d %d",&M,&N); int a[M][N]; int i,j,m,n,flag=0; for(i=0;i<M;i++) { for(j=0;j<N;j++) { scanf("%d",&a[i][j]); } } for(i=1;i<M-1;i++) { for(j=1;j<N-1;j++) { if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1]&&a[i][j]>a[i+1][j]) { m=i+1; n=j+1; printf("%d %d %d\n",a[i][j],m,n); flag = 1; } } } if(flag == 0) { printf("None %d %d",M,N); } return 0; }
2.設計思路
(1)題目算法
第一步:定義變量i,j,m,n,,M,N,t,flag=0;
第二步:輸入M,N,輸入a[i][j];
第三步:把滿足的條件放在循環中(中間數大於四周上下左右的數);
第四步:如果flag=0則輸出“None M N”否則輸出“a[i][j],m,n."
(2)流程圖
3.遇到問題及解決方法
錯誤截圖
遇到的問題
輸出結果串碼打出
解決問題方法
把scanf()放到a[M][[N]前面就可以了。
要求三
git地址
https://git.coding.net/hezongyan321/text.git
項目截圖
要求四
個人總結
(1)本周你學習了哪些內容?
一維數組
二維數組
收獲了什麽?
懂得如何定義數組初始化。
(2)那些是難點?
冒泡排序和選擇排序就是難點,很難理解,最後只能靠背。
哪些知識點還不明白?
不懂冒泡排序第二層循環的意義;
選擇排序也看不太明白
這兩個排序的流程圖不太會畫。
要求五
1.我評論的博客
王佳樂
http://www.cnblogs.com/wjl1124/p/7966897.html
姚爽
http://www.cnblogs.com/yaoshuang/p/7875318.html
孫娜
http://www.cnblogs.com/sun-na-/p/7875394.html
2.表格及折線圖
第14,15周作業