第四次作業


作業要求https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2523

觀看mooc

1 視頻截圖

 

 

 

2 通過觀看視頻我明白了

1)數組作為函數參數時,往往必須再用另一個參數來傳入數組的大小。

2)判斷素數還可以構造素數表來解決。

3)在代碼中加大括號可以用來調試。

3.   對於視頻中那些關於指針的還不太明白,並且對素數的相關程序掌握的還不夠熟練。

 

7-2 求最大值及其下標 (20 分)

本題要求編寫程序,找出給定的n個數中的最大值及其對應的最小下標(下標從0開始)。

輸入格式:

輸入在第一行中給出一個正整數n(1<n10)。第二行輸入n個整數,用空格分開。

輸出格式:

在一行中輸出最大值及最大值的最小下標,中間用一個空格分開。

試題代碼

#include<stdio.h>
int main(void)
{
  int n,i,index;
  int a[10];
  index = 0;
  scanf("%d",&n);
  for(i=0;i<n;i++)
 {
   scanf("%d",&a[i]);
 }
  for(i=0;i<n;i++)
  {
     if(a[0]<a[i])
{
      a[0] = a[i];
      index=i;
}
}
  printf("%d %d",a[0],index);
return 0;
}

  解題思路

1 定義n,i,index; n是用戶輸入的整數的個數。

2 輸出最大值與它對應的下標。

3 將最大值與第一個數交換,輸出交換后的n個數。

程序流程圖

 

 

 

 總結:

此題所遇到的問題:在數組中,要注意i是從0開始的。

運行結果

 

 

調試截圖

 

7-2 輸出所有大於平均值的數 (15 分)

本題要求編寫程序,將輸入的n個整數存入數組a中,然后計算這些數的平均值,再輸出所有大於平均值的數。

輸入格式:

輸入在第1行中給出一個正整數n(1n10),第2行輸入n個整數,其間以空格分隔。題目保證數據不超過長整型整數的范圍。

輸出格式:

輸出在第1行給出平均值,保留2位小數。在第2行輸出所有大於平均值的數,每個數的后面有一個空格;如果沒有滿足條件的數,則輸出空行。

如果輸入的n不在有效范圍內,則在一行中輸出"Invalid."。

試題代碼

#include<stdio.h>
int main(void)
{
  int i,n;
  double average,sum=0;
  scanf("%d",&n);
  int a[n];
  sum=0;
  if(n < 1||n>10){printf("Invalid.");}
  else{
   for(i=0;i<n;i++){
    scanf("%d",&a[i]);
    sum=sum+a[i];
  }
  average=sum/n;
  printf("%.2f\n",average);
  for(i=0;i<n;i++){
    if(a[i]>average)
    printf("%d ",a[i]);
   }
 }
   printf("\n");
  return 0;
}

  解題思路

1定義變量 i,n, average,sum;average存放平均值,sum保存數據之和。

2 利用for循環求平均值。

3逐個與平均值比較,輸出大於平均值的數。

程序流程圖

 

運行結果

 

 調試截圖

個人總結:

這周學習了數組,明白了使用數組可以讓一批相同類型的變量使用同一個數組變量名,用下標來相互區分,優點是表達簡潔,可讀性好,便於使用循環結構,但使用時一定要注意是從a[0]開始。通過這周努力的學習,我相信自己一定可以更好地學習c語言了。

 

 學習進度

點評作業:

https://www.cnblogs.com/zst1/p/10133338.html

https://www.cnblogs.com/zhaoxuan/p/10165311.html

3https://www.cnblogs.com/mayijing/p/10158728.html

 

 

 

 


免責聲明!

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



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