C語言II—作業03


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11918
這個作業的目標 <了解字符及字符串的應用,調用、處理二維數組>
學號 <20209150>

一、本周作業(總分:50分)

1.1 完成PTA作業,並給出編程題完成截圖(5分)

7-1 向右移動字符串 (15 分)

對於字符串“abcd”:向右移動1個單位變為“dabc”。向右移動2個單位變為“cdab”。向右移動3個單位變為“bcda”。
輸入格式:
輸入包含兩行。第一行:一個非負整數N(在32 位整數范圍內)代表向右移動次數。第二行:一個不包含空格的非空字符串(長度小於1001)。
輸出格式:
輸出在移動N個單位長度后的字符串。

7-2 加強密碼 (15 分)

很多網站初始密碼都是“123456”,為保障賬號安全,第一次登錄會強制修改密碼為加強密碼,已知某網站加強密碼需要同時滿足以下規定:長度為6-16;必須同時包含大寫字母、小寫字符、數字和特殊符號;首位必須為大寫字母。請你編寫一個程序,判斷用戶設置的密碼是否為加強密碼。
輸入格式:
輸入第一行為一個整數T(1<=T<=20),代表測試數據的組數,隨后T行,每行都是由小寫字母、大寫字母、數字、特殊符號組成的一串字符s,長度不超過20,特殊符號有且僅有@、#、$、%、^、&、*。
輸出格式:
輸出每行字符串是否為加強密碼,是,輸出“Yes”,不是,輸出“No”,每組輸出占一行。

7-3 手機號碼 (15 分)

我國使用的手機號碼為11位,其中各段有不同的編碼方向:前3位是網絡識別號;第4-7位為地區編碼;第8-11位表示用戶號碼。本題要求你實現一個程序,自動統計指定地區編碼的手機號碼的個數。
輸入格式:
輸入第一行為待查詢的地區編碼,隨后每行都是11位數字組成的手機號碼,當讀到某一行只有一個英文句點 . 時,輸入結束。
輸出格式:
首先在第一行中輸出手機號碼的總個數。然后統計指定地區編碼的手機號碼有多少個。第二行首先輸出第一次出現該地區編碼的手機號碼是第幾個(從 1 開始計數,沒有輸出0),然后輸出該地區編碼手機號碼的總個數(沒有輸出0),其間以一個空格分隔。題目保證輸出的所有數字不超過10​ˆ9​​ 。

1.2 挑戰題目:九宮格鍵盤對應英語單詞

九宮格鍵盤一般可以用於輸入字母。如用2可以輸入A、B、C,用3可以輸入D、E、F等。如圖所示:
對於號碼5869872,可以依次輸出其代表的所有字母組合。如:JTMWTPA、JTMWTPB…… 您是否可以根據這樣的對應關系設計一個程序,盡可能快地從這些字母組合中找到一個有意義的單詞來表述一個電話號碼呢?如:可以用單詞“computer”來描述號碼26678837.
題目來源:《編程之美——微軟技術面試心得》 稍有修改

2.4 請給出本周學習總結(15分)

1 學習進度條(5分)

周/日期 這周所花的時間 累計代碼行 學到的知識點簡介 目前比較疑惑的問題
第一周/21年3月5日 20 147 用C語言讀取文本文件 如何更好地計算代碼運行時間
第二周/21年3月12日 20 219 數組定義、簡單排序、查找
第五周/21年4月2日 20 219 二維數組
第六周/21年4月9日 24 593 字符串、字符數組以及字符型處理庫函數 字符串與字符數組的區別

2 累積代碼行和博客字數(5分)

3 學習內容總結和感悟(5分)

冒泡排序自己的理解和用法

冒泡排序法,指的是它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名“冒泡排序”。
我的理解是依據要排序的方向從左到右依次將相鄰的兩個元素相比較,並把相對而言大(小)的元素移到某一邊,利用循環語句,第一輪循環可以將最大(小)的那個元素移到正確的位置,第二次可以將第二大的元素移動到正確的位置,以此推類
冒泡排序法的用法;可以用代碼示例

此篇博客字數約為1687字(字數更新日期2021年5月4日15:00)


免責聲明!

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



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