標籤:這一 就是 結束 com 字串 問題 結構 導致
一、PTA實驗作業題目1:6-5 判斷迴文字串1. 本題PTA提交列表
2. 設計思路
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
- 第一次做的時候我j直接等於count,其實j應該等於count-1,因為count是包括結束標誌的字串長度
題目2:6-10 字串串動變化1. 本題PTA提交列表
2. 設計思路
定義整型變數i,j,flag,字元型變數max令max等於字串第一個字元i=1 until *(p+i)!=‘\0‘ 如果max小於*(p+i) 令max等於*(p+i) flag等於i i + +end forj=flag to 1 *(p+j)等於它的前一位 j - -end for將max賦給指標所指第一個字元
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
題目3:6-11 報數1. 本題PTA提交列表
2. 設計思路
定義整型變數count=0,i=0,j,flag=1,t=n,定義一個整形數組a[n]用來表示遊戲的人當i小於n時 a[i]=1;i++;end當t大於0時 j=0 to n-1 如果a[j]等於0,跳過下一步 count++ 如果count=3 令a[j]等於0,count=0,out[j]等於flag,flag自增1,t自減一 end forend
3.代碼
4.本題調試過程碰到問題及PTA提交列表情況說明。
- 可能是字元數組做多了,我一開始不知道怎麼想的,把flag的值賦為0,導致每一個結果都小了1
- 一開始我做這道題時沒有思路,不知道怎麼下手(寫了一個陷入了死迴圈的代碼,可惜沒,也忘了具體步驟了),後來我百度了一下想找點思路,發現可以用數組a[n]全為1來表示遊戲中的人沒有退出, 如果退出了,相應的數組的值就變為0,結合這一點,做這道題就容易多了
二、本周題目集的PTA最後排名。
三、閱讀代碼1、
- 這是PTA上字元數組6-9的代碼,功能是實現將句中所有單詞的順序顛倒輸出即說反話
- 這段代碼是周四上機課歐陽同學的代碼,這裡使用了指標,通過指標的指向輸出順序顛倒的數組,這樣會比新定義一個數組來存放顛倒後的數組更方便
2、
- 該函數功能是尋找子串在主串第一次出現的地址
- 代碼優點是把主串或子串為空白的情況考慮進去了
四、本周學習總結一、學到的知識1、結構體的運用1、定義一個結構體
struct 結構名 {
類型名 結構成員名1;
類型名 結構成員名2;
類型名 結構成員名3;
······
};
!!!最後面的分號不能忘
2、結構變數初始化
在定義時對其賦值
如:struct student s1={101,"zhang",78,87,85};
3、結構變數成員的引用
格式為:結構變數名 . 結構成員名(.為結構成員操作符)
4、結構變數做函數參數的優缺點
- 優點:可以傳遞多個資料且參數形式較簡單
缺點:對於成員多的大型結構,參數傳遞時所進行的資料複製使效率較低
5、結構數組
- 定義及初始化:例如:struct student students [50]={{101,"zhang",78,87,85},{102,"wang",72,89,86}};
結構成員引用:格式為:結構數組名[ 下標]. 結構成員名(依然使用結構成員操作符.)
6、結構指標
- 指標訪問結構成員:(*p).num 或 p->num 均可
指標做函數參數:
7、結構體個人總結
學了結構體,我感覺它就像是一個我們自己創造出來的變數,我可以像操作整型變數和字元變數那樣來操作,唯一不同的就是結構成員的使用了
錯題
這裡的函數是沒有給傳回值的,我做的時候不知道在想什麼,最後居然用了return,大概是沒完全搞懂函數的意思吧
這裡有兩個錯誤,一個和上面一樣,另一個就是我的小失誤了,我沒注意到下面用的是n,所以寫的時候用了m(這種小失誤是沒認真看題的後果)
C語言指標作業