C語言指標作業

來源:互聯網
上載者:User

標籤:這一   就是   結束   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提交列表情況說明。
  • 第二個迴圈j大於等於1,我漏了個等於
題目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語言指標作業

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.