2018第一次作業


作業要求一

第一次作業由於沒有即時關注截至時間,最后忘記完成,感覺到自己這個習慣非常不好,以后應該及時完成作業,不應該再拖拖拉拉的。

作業要求二

6-1 在數組中查找指定元素

1 設計思路(6分)
(1)主要描述題目算法
第一步:閱讀題目,找出題目的要求—— 在數組中查找指定元素並且輸出它的最小下標。
第二步:使用循環方式進行查找,如果可以找到,就輸出它的下標。
第三步:如果找不到,則輸出-1,這樣系統會自動判斷。
(2)流程圖(4分)

2.實驗代碼(2分)

int search(int list[], int n, int x)  
{
	int * p,i;
	 p= &list[i];
 for (i = 0; i < n; i++)  
    {  
	
		if(*p++==x)
			return i;
		
	}
	return -1;	
}

3.本題調試過程碰到問題及解決辦法(12分)
錯誤信息1:

錯誤原因:沒有使用指針的方法
改正方法:先設出p,將p=&list[i],這時p就等於list[i],也就是說p可以代表之前的數組,利用循環語句再將它與需要尋找的值做對比,進一步進行判斷。

6-2 找最大值及其下標

1 設計思路(6分)
第一步:閱讀題目可以得知尋找數組中的最大值並且輸出它的下標
第二步:先把第一個數賦予max,然后進行比較,如果第二個數比第一個數大,則把它賦予max,且把下標賦予*b。
第三步:最后再將max輸出。
(2)流程圖(4分)

2.實驗代碼(2分)

int fun(int *a,int *b,int n)
{
	int i;
	int  max=*a;
	for(i=1;i<N;i++)
	{
		 if(*(a+i)>*a)
		 {
		 
		*b=i;
		max=*(a+i);
	}
	}
	return max;
}

3.本題調試過程碰到問題及解決辦法(12分)
錯誤信息1:

錯誤原因:題目中給出的數組是a,而我使用的a[0],題目已經給出了輸出,但我沒有返回,直接又自己使用了輸出。
改正方法:向同學請教后,將數組
a中第一個數賦值給了max,然后再進行判斷a+1是否大於a,如果不是就將其替換,最后再輸出max和*b。

要求三、學習總結和進度

1、總結兩周來所有PTA作業中每個題目所使用的知識點。
這兩周以來主要學習了指針的使用,而這兩道題則對最近學習的知識點有很好的應用。首先這兩道題都使用了間接訪問運算符,其次第一題還考察了p++的用法,以及和其他有關於p的運算

第二題主要是上學期有關於使用循環查找最大值的知識點,再結合這學期學的指針中數組與地址的關系來考察的。

2、將PTA作業的源代碼使用git提交到托管平台上
git地址:https://git.coding.net/MikeJackYao/The-first.git

3、點評3個同學的本周作業

4、請用表格和折線圖呈現你本周(3/513:00~3/19 8:00)的代碼行數和時間、博客字數和時間(3分)。


免責聲明!

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



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