第四次作業


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

https://www.cnblogs.com/chumengGTRlhz/p/10116012.html

https://www.cnblogs.com/a-b-c-d-e1/p/10116269.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM