預習作業:
1.本次共觀看三小節的慕課。
觀看進度截圖:
2.數組運算中這一節中主要講了以下知識點(第一二張截圖),同時還有搜索部分
的知識點(第三張截圖)。
3.課程內容易懂,語言簡潔扼要,非常適合我們初學者學習。
博客鏈接:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2522
第十三次作業:
輸出數組元素
本題要求編寫程序,對順序讀入的n個整數,順次計算后項減前項之差,並按每行三個元素的格式輸出結果。
輸入格式:
輸入的第一行給出正整數n(1<n≤10)。隨后一行給出n個整數,其間以空格分隔。
輸出格式:
順次計算后項減前項之差,並按每行三個元素的格式輸出結果。數字間空一格,行末不得有多余空格。
輸入樣例:
10 5 1 7 14 6 36 4 28 50 100
輸出樣例:
-4 6 7 -8 30 -32 24 22 50
實驗代碼:
#include<stdio.h> int main() { int a[10], b[10], i, j, n, count = 0; scanf("%d", &n); for (i = 0; i < n; i++){ scanf("%d", &a[i]);} for (j = 0; j < n - 1; j++){ b[j] = a[count + 1] - a[count]; count++; } count = 0; for (j = 0; j < n - 1; j++){ if (j == 0){ printf("%d", b[0]); } else if (count == 3){ printf("\n"); printf("%d",b[j]); count = 0; } else { printf(" %d", b[j]); } count++; } }
解題思路:
第一步:設置變量i,j,n,count和數組a[10]。
第二步:輸入十個量到數組a[i]中,再定義一組數組a[j],a[j]=a[i]-a[i-1]
第三步:在循環變量中設置count=0,當count=3時,輸出“\n”分行,后輸出數值,再將count賦值為0;若j=0,就直接輸出該數值,其余的先輸出一個空格,再輸出數值。
流程圖:
錯誤及調試:
調試:





出現錯誤:
忘記了“每行三個元素的格式輸出結果”的條件。
解決方式:
在if循環中插入以下代碼
else if(count==3){
printf("\n");
printf("%d",a[j]);
count=0;
}
查找整數 (10 分)實驗代碼 :
#include <stdio.h> int main() { int n,i,j; scanf("%d",&n); int a[11]; 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; } else if(a[0]==a[j]) { a[0]=a[j]; if(i>j) { i=j; } } } printf("%d %d",a[0],i); }
解題思路:
第一步:定義變量n,i,j。
第二步:給n輸入值。
第三步:定義數組a[n]。通過for循環給a[n]輸入n個值。
第四步:最后利用for循環和if、else判斷得出下標i。
流程圖:

錯誤及調試:
調試:



結果與題目相符,本次編寫正確。
個人總結:
本次學習了C語言的數組部分,數組部分的學習更加方便了編寫,可以一次輸入多個值減少重復語句的使用。
第十四次作業中的7-4數字加密和7-5將數組中的數逆序存放個人感覺有難度。
我通過和同學討論交流以及一起編寫,明白了這兩個題的做法。
https://www.cnblogs.com/asdfghjklasdfghjkl/p/10127728.html
https://www.cnblogs.com/abcdsjjs/p/10170665.html
https://www.cnblogs.com/1017547133jyj/p/10165434.html
