第一階段上機考試補題報告


 

R7-1 成績統計表 (10 分)
 

某大學全校都開設C語言課程,每學年結束都按成績進行統計。請編寫程序,輸入優秀、良好、中等、及格和不及格的人數,輸出成績統計表。

輸入樣例

36
275
1806
2194
101
 

輸出樣例

Rank      Number
----------------
Excellent     36
Good         275
Medium      1806
Pass        2194
Fail         101
----------------
Total       4412

 

第一題錯誤較多,主要是以為輸出必須用循環來控制,想過設多個變量輸入,但是通過翁愷老師的視頻里講最好不要代碼復制,這是代碼質量不良的表現,最后呈現的代碼有點復雜,還有占格問
題,當時沒有想清楚。以下是我做的修改:

 

7-4 求某月的天數 (20 分)
 

輸入年份year、月份month,判斷該月的天數。閏年:能被4整除但不能被100整除或者能被400整除的年份是閏年。

輸入格式:

測試數據有多組,處理到文件尾。對於每組測試,輸入兩個整數,表示年份year和月份month。

輸出格式:

對於每組測試,輸出對應年月的天數。

輸入樣例:

2020 2
2020 4
 

輸出樣例:

29
30

 這題思路沒什么問題,但是不小心把/當%用了,導致一直報錯,還沒有發現原因,以下是修改后的代碼:

 

R7-6 交替字符倒三角形 (20 分)
 

根據讀入的高,畫出一個ST字符交替的倒三角形。

輸入格式:

輸入數據含有不超過50個正整數n(1≤n≤30)。 以鍵盤輸入^Z或遇到文件結束符時結束數據輸入。

輸出格式:

輸出以n為高的ST字符交替的倒三角形,畫出每個三角形時都應另起一行。

輸入樣例:

3 10
 
結尾無空行

輸出樣例:

STSTS
 STS
  S
STSTSTSTSTSTSTSTSTS
 STSTSTSTSTSTSTSTS
  STSTSTSTSTSTSTS
   STSTSTSTSTSTS
    STSTSTSTSTS
     STSTSTSTS
      STSTSTS
       STSTS
        STS
         S
 
結尾無空行

這題犯了上題一樣的錯誤,將/當%用了,后面輸出的for循環里的條件有點小問題,以下做了修改:

 

7-5 位運算應用 (20 分)
 

現有96個端口狀態,用3個無符號整型ua(95~64),ub(63~32),uc(31~0)組合起來的96位二進制數來表示,每位二進制數的1、0表示其正常和故障狀態。

輸入一個tag位,將tag位上二進制數置1.

tag位表示其在96位中所處的位數(在96位中從低向高從0至95)

輸入格式:

第一行輸入三個無符號整數,表示ua,ub,uc

第二行輸入一個整數tag。

輸出格式:

若tag值不在0到95之間,則輸出Error,否則輸出轉換后的ua,ub,uc

輸入樣例:

1 2 3
-2
 
結尾無空行

輸出樣例:

Error
 
結尾無空行

輸入樣例:

1 2 3
10
 
結尾無空行

輸出樣例:

ua=1,ub=2,uc=1027
 
結尾無空行
這題沒有提交,一是有點害怕位運算的題,二是知道老師講過,在編譯器上運行結果不對,就沒有提交,對於這道題我做了必要分析,之后也會加強這一塊的學習:
解題思路:
將輸入的tag轉化位二進制,運用移位和或與將指定位置置零,輸入的標志位tag表示其所處的位置,將tag位上的狀態置1,輸入的tag不同會進入不同的變量,輸出的時候
一樣的按位或1;

最后呢,總結幾個方面:(1)學習情緒上,不要過於緊張,平常心對待,盡力學,才能在考試時充分發揮實力;

                                       (2)學習方法上,多自己探索,不是盲目地看視頻,要勤思考,將他人的方法轉化為自己容易接收並記住的,形成自己的思考體系;

                                       (3)學習內容上,位運算顧名思義是按位運算的,在一行中輸出數字的占位可以通過%nd來實現,循環條件里可以放輸入語句,使用遞歸時要注意

調用函數和輸出位置,這直接影響輸出順序。

 
             


免責聲明!

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



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