第2次作业
?
?
一、作業(yè)要求鏈接
https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502
二:
函數(shù)作業(yè)中題目:6-3數(shù)字金字塔
1、實(shí)驗(yàn)代碼:
#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。
第二步:建立一個(gè)for循環(huán),確保輸出的數(shù)字和輸出的格式。
第三步:輸出結(jié)果。
(2)流程圖
3、本題調(diào)試過(guò)程碰到問(wèn)題及解決辦法
(1)錯(cuò)誤提示截圖
(2)設(shè)置斷點(diǎn)單步調(diào)試
(3)問(wèn)題及解決辦法
是因?yàn)榇中拇笠鉀](méi)能發(fā)現(xiàn)多加了一個(gè)分號(hào),設(shè)置斷點(diǎn)單步調(diào)試之后發(fā)現(xiàn)了問(wèn)題,去掉之后便可以成功運(yùn)行了。
數(shù)組1中題目:7-1交換最小值和最大值
1:實(shí)驗(yàn)代碼:
#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è)第一個(gè)數(shù)組值為最小的,利用for循環(huán)將所有的數(shù)組與第一個(gè)數(shù)比較,找到數(shù)組中的最小值,進(jìn)行交換,重復(fù)操作
第三步:若最大值以及最小值不是最大或最小,那再次進(jìn)行循環(huán)
第四步:利用for循環(huán)輸出所有的數(shù)組。
(2)流程圖
??3、本題調(diào)試過(guò)程碰到問(wèn)題及解決辦法
(1)錯(cuò)誤提示截圖
?
?
?(2)設(shè)置斷點(diǎn)單步調(diào)試
?
?
(3)問(wèn)題及解決辦法
沒(méi)有編譯錯(cuò)誤,提示部分正確,用DevC++輸入不同的數(shù)組運(yùn)行結(jié)果有對(duì)有錯(cuò)。后來(lái)經(jīng)人指點(diǎn)發(fā)現(xiàn)是x后面沒(méi)加!導(dǎo)致的錯(cuò)誤,加上之后運(yùn)行結(jié)果就對(duì)了。
數(shù)組2作業(yè)中題目:7-3求整數(shù)序列中出現(xiàn)次數(shù)最多的數(shù)
1:實(shí)驗(yàn)代碼
#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ù)組,同時(shí)實(shí)現(xiàn)個(gè)數(shù)的累加
第四步:如果滿(mǎn)足條件;就同時(shí)進(jìn)行下標(biāo)的轉(zhuǎn)換
第五步:利用for循環(huán)排除所有的這種情況
第六步:最后輸出整數(shù)序列中出現(xiàn)次數(shù)最多的數(shù)
(2)流程圖
? 3、本題調(diào)試過(guò)程碰到問(wèn)題及解決辦法
(1)錯(cuò)誤提示截圖
(2)設(shè)置斷點(diǎn)單步調(diào)試
(3)問(wèn)題及解決辦法
因?yàn)榇中膶AX寫(xiě)成了max,導(dǎo)致了一堆編譯錯(cuò)誤。因?yàn)楹茱@眼,所以馬上就找到改正過(guò)來(lái)了。
三:個(gè)人總結(jié)
1、收獲:這幾周學(xué)習(xí)了有關(guān)數(shù)組與函數(shù)的一些基本知識(shí)和解題的必要步驟,并且鞏固了循環(huán)方面的知識(shí),代碼量有顯著的提升,解題的速度也更加快了。
2、難點(diǎn)及解決辦法:如何把一個(gè)數(shù)值插入數(shù)組是我經(jīng)常遇到的問(wèn)題,而且經(jīng)常會(huì)馬虎導(dǎo)致編譯錯(cuò)誤甚至結(jié)果錯(cuò)誤。我覺(jué)得還是要多加練習(xí)才會(huì)更熟練,馬虎的問(wèn)題還要多多注意。
四:互評(píng)和學(xué)習(xí)進(jìn)度
1、互評(píng):
初可欣同學(xué)的第2次作業(yè)
袁于純同學(xué)的第2次作業(yè)
張學(xué)健同學(xué)的第2次作業(yè)
?
2、學(xué)習(xí)進(jìn)度:
(1)表格
(2)折線(xiàn)圖
?
轉(zhuǎn)載于:https://www.cnblogs.com/yanhuixin/p/10158447.html
總結(jié)
- 上一篇: java 如何对由json对象构成的数组
- 下一篇: shell学习(4)- awk