第四次随笔作业
https://www.cnblogs.com/ranh941/p/7999266.html
本次mooc的學習中我總共學習了七個視頻,并且對于數組進行了學習,在經過這段時間的mooc學習之后,使我對于數組有了新的認識,也讓我對于,今后c語言的學習打下了良好的基礎,這次學習我主要學習到了有關于,數組的一系列知識,包括數組的定義,以及與之相關的一系列問題。我認為這次學習中我對于二位數組的掌握還不太熟練,因此要在課下下足功夫,抓住重點,勤加練習,爭取早日學習透徹。
第十四次作業:
7-2 求最大值及其下標
代碼:
#include<stdio.h> int main() {int n=0,i=0,max=0,m=0;scanf("%d",&n);int a[n];for(i=0;i<n;i++){scanf("%d",&a[i]);}max=a[0];for(i=0;i<n;i++){if(max<a[i]){max=a[i];m=i;}}printf("%d %d",max,m);return 0;}?第一步:定義四個整形變量n,i,max,m并將其初始化,輸入n,并定義擁有n個數字的數組a。
第二步:用for循環將n個數字輸入到數組中。
第三步:將數組中的第一個數賦值給代表最大值的max,并利用for循環將數組里的數字依次與max進行比較,如果該數字比max的值大,就將這個值賦給max,并緊接著將下角標賦值給m,知道max與所有數組中的數字比較結束之后。
第四步:輸出結果。
流程圖:
運行截圖:
?
?7-3 交換最小值和最大值
代碼:
#include<stdio.h> int main() {int n,m=0,i=0,max=0,min=0,t=0,c=0,d=0;scanf("%d",&n);int a[n];for(i=0;i<n;i++){scanf("%d",&a[i]);}max=a[0];min=a[0];for(i=0;i<n;i++){if(a[i]>max){max=a[i];c=i;}if(a[i]<min){min=a[i];d=i;}}m=a[0];t=a[d];a[d]=a[0];a[0]=t;if(c!=0){t=a[c];a[c]=a[n-1];a[n-1]=t;}else{t=a[n-1];a[n-1]=m;a[d]=t;}for(i=0;i<n;i++){printf("%d ",a[i]);}return 0; }步驟:
第一步:定義變量,用于for循環計數,初春最大,最小值及其下角標,交換位置。
第二步:輸入數字n并用for循環將n個數字輸入數組中。
第三步:將數組中的第一位數賦值給max和min用于表示直達最小值,并將數組中的數字按順序與max和min進行比較,將比max大得數字賦值給max并將其角標賦值給c,將比min小的數賦值給min并將其角標賦值給d,進而找出最大最小值,及其角標。
第四步:先將數組中第一個數的值保存從而防止第一個數為最大值時的情況,再將最小值與第一個數交換數值,在分兩種情況,當第一個數為最大值時將數組中最后一個數的值付給剛與第一個數交換過的最小值(題中我將其定義為a[d]),再將是先存放好的第一個數的值賦給最后一個數。如果,最大值不是第一個數,則將最大值與最后一個數交換數值。
第五步:輸出數組。
程序框圖:
?
運行截圖:
?
個人總結:
本周我們在課堂上對于數組進行了學習,對于其中的重點難點老師也為我們進行了一一講解,并且督促我們課上認真聽講,課下認真完成老師布置的作業,我們目前課上所進行的學習中,由于老師的督促,和我們的配合,數組方面沒有什么大問題,現在唯一困擾我的問題就是關于最大值與最小值的排序,但經過練習,我相信自己可以順利解決。
統計圖表:
?
?評論鏈接:
https://www.cnblogs.com/yangzhenghui/p/10170949.html
https://www.cnblogs.com/159357www/p/10165685.html
https://www.cnblogs.com/chengxu230921/p/10170865.html
?
轉載于:https://www.cnblogs.com/zduangduang/p/10165518.html
總結
- 上一篇: Bash shell - 2
- 下一篇: Turtle-可视化界面画圣诞树