第2次作业
?
?
一、作業(yè)要求鏈接
https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
二:
函數(shù)作業(yè)中題目:6-3數(shù)字金字塔
1、實驗代碼:
#include <stdio.h>void pyramid( int n );int main() { int n;scanf("%d", &n);pyramid(n);return 0; }void pyramid( int n ) { int i,j,k,m;m = n; for(i=1;i<=n;i++,m--) { j=m; for(j=m-1;j>0;j--) printf(" "); for(k=i;k>0;k--) printf("%d ", i); printf("\n"); }}2、解題思路
(1)文字描述
第一步:定義i,j,k,m。
第二步:建立一個for循環(huán),確保輸出的數(shù)字和輸出的格式。
第三步:輸出結果。
(2)流程圖
3、本題調試過程碰到問題及解決辦法
(1)錯誤提示截圖
(2)設置斷點單步調試
(3)問題及解決辦法
是因為粗心大意沒能發(fā)現(xiàn)多加了一個分號,設置斷點單步調試之后發(fā)現(xiàn)了問題,去掉之后便可以成功運行了。
數(shù)組1中題目:7-1交換最小值和最大值
1:實驗代碼:
#include<stdio.h> int main(){ int b,c,i,n,x,m; scanf("%d",&n); int a[n]; for(i=0;i<n;i++)scanf("%d",&a[i]); b=a[0]; c=a[0]; for(i=1;i<n;i++){if(a[i]<c){c=a[i];x=i;} } if(x!=0){m=a[0];a[0]=a[x];a[x]=m;} for(i=1;i<n;i++){if(a[i]>b){b=a[i];x=i;} } if(x!=n-1){m=a[n-1];a[n-1]=a[x];a[x]=m; } for(i=0;i<n;i++) printf("%d ",a[i]); return 0; }2:解題思路:
(1)文字描述
第一步:定義變量及數(shù)組a[n]
第二步:利用for循環(huán)輸入所有的數(shù)組值,假設第一個數(shù)組值為最小的,利用for循環(huán)將所有的數(shù)組與第一個數(shù)比較,找到數(shù)組中的最小值,進行交換,重復操作
第三步:若最大值以及最小值不是最大或最小,那再次進行循環(huán)
第四步:利用for循環(huán)輸出所有的數(shù)組。
(2)流程圖
??3、本題調試過程碰到問題及解決辦法
(1)錯誤提示截圖
?
?
?(2)設置斷點單步調試
?
?
(3)問題及解決辦法
沒有編譯錯誤,提示部分正確,用DevC++輸入不同的數(shù)組運行結果有對有錯。后來經(jīng)人指點發(fā)現(xiàn)是x后面沒加!導致的錯誤,加上之后運行結果就對了。
數(shù)組2作業(yè)中題目:7-3求整數(shù)序列中出現(xiàn)次數(shù)最多的數(shù)
1:實驗代碼
#include <stdio.h> #define MAX 1000 int main(){int arr[MAX], count[MAX];int N, i, j;int maxCount, maxPos;scanf("%d", &N);for(i=0; i<N; i++){ scanf("%d", &arr[i]);}for(i=0; i<N; i++){ count[i] = 0;}for(i=0; i<N; i++){for(j=0; j<=i; j++){if(arr[j]==arr[i]){count[i]++;}}}for(i=0; i<N; i++){ if(i==0){maxCount = count[0];maxPos = 0;}else{if(count[i]>maxCount){maxCount = count[i];maxPos = i;}}2:解題思路:
(1)文字描述
第一步:定義出所需的變量及數(shù)組
第二步:利用for循環(huán)輸入所有的數(shù)組值
第三步:再利用for的雙層循環(huán)找出相等的數(shù)組,同時實現(xiàn)個數(shù)的累加
第四步:如果滿足條件;就同時進行下標的轉換
第五步:利用for循環(huán)排除所有的這種情況
第六步:最后輸出整數(shù)序列中出現(xiàn)次數(shù)最多的數(shù)
(2)流程圖
? 3、本題調試過程碰到問題及解決辦法
(1)錯誤提示截圖
(2)設置斷點單步調試
(3)問題及解決辦法
因為粗心將MAX寫成了max,導致了一堆編譯錯誤。因為很顯眼,所以馬上就找到改正過來了。
三:個人總結
1、收獲:這幾周學習了有關數(shù)組與函數(shù)的一些基本知識和解題的必要步驟,并且鞏固了循環(huán)方面的知識,代碼量有顯著的提升,解題的速度也更加快了。
2、難點及解決辦法:如何把一個數(shù)值插入數(shù)組是我經(jīng)常遇到的問題,而且經(jīng)常會馬虎導致編譯錯誤甚至結果錯誤。我覺得還是要多加練習才會更熟練,馬虎的問題還要多多注意。
四:互評和學習進度
1、互評:
初可欣同學的第2次作業(yè)
袁于純同學的第2次作業(yè)
張學健同學的第2次作業(yè)
?
2、學習進度:
(1)表格
(2)折線圖
?
轉載于:https://www.cnblogs.com/yanhuixin/p/10158447.html
總結
- 上一篇: java 如何对由json对象构成的数组
- 下一篇: shell学习(4)- awk