https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522
MOOC
觀看的視頻


通過觀看視頻,我學會了了一道編程題

對於現在所學的數組,在做編程題時還不太熟練,在慕課網上我學習到了數組下標有可能越界的情況。還不太清楚越界的后果,還有從0開始定義的數組。
7-2 輸出所有大於平均值的數 (15 分)
1.實驗代碼
#include<stdio.h> int main(void) { int i; double average,sum;//average存放平均值,sum保存數據之和 int a[10];//定義一個數組a,它有10個整型元素 //將輸入數依次賦值給數組a的10個元素a[0]~a[9],並求和 sum = 0; for(i = 0;i < 10;i++){ scanf("%d",&a[i]); sum = sum + a[i]; } //求平均值 average = sum / 10; printf("average = %.2f\n",average); printf("大於平均值的數:"); //逐個與平均值比較,輸出大於平均值的數 for(i = 0;i < 10;i++){ if(a[i] > average) printf("%d",a[i]); } printf(" \n"); return 0; }
2.解題思路
第一步:先計算出平均值
第二步:通過for循環比較平均值與數組中的數比較,嵌套條件語句,輸出平均值大於數組的數。
流程圖

3.本題調試過程碰到問題及解決辦法





這道題沒有什么難的。
7-2 求最大值及其下標
1.實驗代碼
#include<stdio.h> int main(){ int n,i,j; scanf("%d",&n); int a[100]; for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(j=0;j<n;j++){ if(a[0]<a[j]){ a[0]=a[j]; i=j; } if(a[0]==a[j]){ a[0]=a[j]; if(i>j){ i=j; } } } printf("%d %d",a[i],i); return 0; }
2.解題思路
第一步:按照數組的順序和后面的數字一次次比較,一直到找出最大的數。
流程圖

3.本題調試過程碰到問題及解決辦法




這道題前部分沒有難度,后面有一個轉哈的問題。
個人總結
在本周我學習了數組,其中我感覺冒泡是比較難的,在私下中我多多詢問同學的學習經驗。在網上查找資料,幫助我的學習。

https://www.cnblogs.com/freedomjdp/p/10115746.html
