標籤:com 變數 下標 概念 c語言 switch 整型 問題 while
一、PTA實驗作業題目1.求出數組中最大數和次最大數1.本題PTA提交列表
2.設計思路
定義最大數max,次最大數max2,中間變數t,p 賦初值max=0,max2=1 for i=0 to i<10 如果a[i]>a[max],max=i 利用中間變數t交換位置 for i=1 to i<10 如果a[i]>a[max2],max2=i 利用中間變數p交換位置
3.代碼
4.本題調試過程碰到問題及解決辦法
沒有把max,max2賦初值,導致答案錯誤,後來問室友解決了
題目2. 統計大於等於平均分人數1.本題PTA提交列表
2.設計思路
定義迴圈變數i,統計人數count,成績總和sum for i=0 to i<=n sum+=s[i]; *aver=sum/n;end for i=0 to i<=n 遍曆數組,如果*aver<s[i] ,count++;end 返回count
3.代碼
4.本題調試過程碰到問題及解決辦法
由於粗心開始把sum定義成了整型,以後會注意這方面問題
題目3輸入月份英文名1.本題PTA提交列表
2.設計思路
switch(n){如果n為1 返回英文一月 end如果n為2 返回英文二月 end如果n為3 返回英文三月 end以此類推 直到n為12如果n不是一個代表月份的數字 返回null 指標NULL}
3.代碼
4.本題調試過程碰到問題及解決辦法
漏掉了不是月份數位情況,再看一遍就發現了
二、本周題目集的PTA最後排名
三、閱讀代碼代碼一
void fun(char *p){int i,j,flag;//flag存放最大值下標char item;char max=‘a‘;for(i=0;p[i]!=‘\0‘;i++){ if(p[i]>max) { max=p[i]; flag=i;//記下最大值下標 }}item=max;for(i=flag;i>0;i--){//從p[flag]倒著遍曆 p[i]=p[i-1];//後移一位}p[0]=item;}
周炳輝同學的代碼採用了反向遍曆的方法,把p數組倒著數,以後在做倒序輸出的題目時可以嘗試一下這種做法
代碼二
吳軍霖同學的代碼用do-while迴圈尋找字串內還有沒有未刪除的子串,遇到相同的字母,繼續判斷後面的字母是否相同,代碼簡潔,十分巧妙。
四、學習總結1.自己總結本周學習內容。
這周通過做PTA的題目,對指標這一章的內容開始慢慢掌握了,但是還是有一些概念比較模糊,在處理字串方面的問題時,指標可以高效快速的處理,所以不懂得地方,還要繼續看書做題來完善。
2 羅列錯題。
指標數組不能直接位移,我的選擇錯誤,答案應該為D
C語言部落格作業--結構體