第四次作業


作業要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522

1. 我觀看了數組,函數的定義與使用,函數的參數與變量,數組運算。

 

2.我知道了1).數組規定了多少個元素就不能超過這個數,否則就是越界。

     2).儲存數組時需要用for循環一個一個輸入。

     3).函數調用首先從主函數開始進行,從中跳轉到所定義的函數。

3.問題:在運用數組時會出現運用不好的問題,有時還會有越界的問題。

第十六周作業   題目: 7-1 輸出數組元素

1.實驗代碼

 

#include <stdio.h>
int main()
{
  int n,i=0,j,count=0;
  scanf("%d\n",&n);
  int a[n];
  for(i=0;i<n;i++){
      scanf("%d",&a[i]);
  } 
  for(i=1;i<n;i++){
      j=a[i]-a[i-1];
      count++;
      if(count%3==0){printf(" %d\n",j);}
      else if(count%3==1){printf("%d",j);}
      else if(count%3==2){printf(" %d",j);}
  }
  return 0;
}

 

2.解題思路

1).定義四個整型變量給出的正整數數量n,和輸出的后項減前項的值 j ,以及i和count;輸入n后,再定義整型數組a[n];

2).進入第一個循環從i=0開始進行存入數組中的n個數;而后進行第二個循環;

3).這時要注意從i=1開始計算j的值,因為要求是后一項減前一項;count隨着循環進行n次加;

4).當count除以三求余等於0時輸出空格加j加回車;當count除以三求余等於1時輸出j;當count除以三求余等於2時輸出空格加j;結束運行。

流程圖

 

3.調試過程遇到的問題及其解決方法:

第一個問題:

進行調試:

輸入所給案例的數字;直接出現結果:

 

 

 解決辦法:發現儲存a[i]后如果從i=0開始就會有a[0]-a[-1]會有a[0]的值5出現,所以我將i=0改成了i=1,結果沒有直接跳出循環出結果而是一步一步進行循環

 

 

 

結果正確。

 

 題目: 7-2 求最大值及其下標

1.實驗代碼:

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

2.解題思路

1).先定義5個整數型變量i,輸入數組元素的個數n,h,z,count=0,用戶輸入變量n,再定義數組a[n];

2).進入循環i=0;當i<n時不斷輸入數組元素a[i],i++,直至i>n.

3).如果n>1且n<=10,則h=a[0],進入循環i=0;當i<n時不斷進行循環語句中的條件語句:如果a[i]>h時h=a[i],z=i;否則h=h,count++;直至i>n;

4).跳出循環后如果count等於i輸出“h 0”;否則輸出“h z”,結束。

流程圖

 

3.調試過程遇到的問題及其解決方法:

 

按照所給提示當n=10,數組中所有元素都相等時進行調試:

解決辦法:發現並不走count=i這一步而是進行下一步,所以我發現如果a[i]=a[i-1]時在我的程序里沒有進行count++;所以count不會等於i;

所以我將a[i]<h改為a[i]=h,結果正確;

 

個人總結:

本周學習內容:學習了數組的定義,數組的儲存,選擇排序法和冒泡排序法以及我們在儲存數組時需要用for循環語句進行一個一個的儲存;關於數組越界問題,還有將多個for循環用一個for循環以此減少循環使用。

收獲:主要收獲是進行數字排列時可以減少for循環的使用,剪短代碼的行數以及計算機進行的步驟。

 

表格以及折線圖:

 

 

 

 

點評:

https://www.cnblogs.com/cyw1/p/10133891.html

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

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


免責聲明!

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



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