這個作業屬於哪個課程 | C語言程序設計I |
---|---|
這個作業要求在哪里 | *作業鏈接* |
我在這個課程的目標是 | 熟練掌握C語言,並且能在生活中運用 |
這個作業在那個具體方面幫助我實現目標 | 熟練掌握語句的嵌套使用 |
參考文獻 | *作業評價標准* |
1.PTA實驗作業
1.1本題目要求讀入菱形起始字母和菱形的高度,然后輸出空心字符菱形。所謂“空心菱形”是指:每行由兩端為字母、中間為空格的字符串構成,每行的字符串中心對齊;上半部分相鄰兩行字符串長度差2,且字母從給定的起始字母逐一遞增;下半部分與上半部分對稱。
輸入格式:
輸入在一行中給出起始字母(范圍為英文大寫字母A-G)和菱形的高度(為不超過10的奇數)。
輸出格式:
輸出空心字符菱形。
1.1.1數據處理
數據表達:定義整形變量n,i,j,weizhi,s,b,還有字符型變量char ch;
數據處理:weizhi標記第一個字母的位置,s,b標記字母的位置
輸入字母n
weizhi=(n+1)/2 計算weizhi的值
s=b=weizhi
for i=1到n
for j=1到b
如果j=s或者b
輸出字母
else
輸出空格
for end
if i不等於n
換行
if i<weizhi 表示中間行位置 判斷是否到達中間行
字母+1
s-1
b+1
然后
else
字母-1
s+1
b-1
結束
1.1.2代碼截圖
1.1.3 造測試數據
輸入數據 | 輸出數據 | 說明 |
---|---|---|
B 5 | B C C D D C C B | 題目說明 |
C 2 | C | 簡短運算 |
1.1.4PTA提交列表及說明
答案錯誤:%-4d其含義是輸出格式為整形,長度為4,左對齊;最開始沒有明白這個
答案錯誤:&N我寫成&n,沒有區分大小寫,三個答案錯誤都是沒找到這個細節錯誤
1.2一個數恰好出現在它的平方數的右端,這個數就稱為同構數。找出1~1000之間的全部同構數。
輸出格式:
在一行中輸出所有滿足條件的同構數,每個數輸出占6列。沒有其它任何附加格式和字符。
1.2.1 數據處理
數據表達:定義整形變量i,for循環,if分支結構
偽代碼:
for(int i=1;i<=1000;i++) 題目給出在1~1000內找同構數,進行循環
if(i*i%10==i||i*i%100==i||i*i%1000==i)//i*i就是i的平方,i是一位數的時候,i平方%10只取個位
當與i是符合條件 然后i是2位數 3位數都一樣
printf("%6d",i);//輸出數字加空格只占用6個位置
1.1.2 實驗代碼截圖
1.2.3 造測試數據
輸出數據 | ||
---|---|---|
1 5 6 25 76 376 625 | ||
1.2.4 PTA提交列表及說明
這個題目因為這個格式錯誤和答案錯誤消耗了我大概1個小時,原來是輸出中間的空格沒注意,它是數字加空格只能占6個位置,我沒有讀懂題目,導致一直沒有找到錯誤所在
2.代碼互評
2.1同學代碼截圖
2.2自己代碼截圖
1、我內嵌的for比這個同學內嵌的for要復雜很多
2、我寫了26行代碼,同學寫了14行代碼,他的比我簡潔,比我更有效率,也比我易懂
3、我還用了if-else,外加兩個for,他只用了兩個for循環結構就搞定了
4丶一個將限制條件在外面,另一個將限制條件放在for循環里考慮
3.1 學習進度條
周數/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第四周/10-17 | 約5小時 | 300行左右 | “for”循環結構語句的基本使用 | 對循環結構的使用不熟練。 |
第五周/10-24 | 約4小時 | 280行左右 | 定義函數的使用 | 對pta上的作業題目很難讀懂意思 |
第六周/10-31 | 約5小時 | 350行左右 | 邏輯表達式 關系表達式 | 聽課聽得懂 做題不會做 |
第七周/11-6 | 約5小時 | 300行左右 | switch語句,char數據類型 | 題目大致能看懂,細致末梢難以處理 |
第八周/11-13 | 約6小時 | 350行左右 | 熟悉使用while和do-while結構解決問題。 | 結構的運用 |
第九周/11-21 | 約7小時 | 400行左右 | 區別break與continue語句 | 對數學知識頭疼 |
第十周/11-27 | 約6小時 | 380行左右 | 熟練運用分支語句 | 題目意思難理解 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
3.3.2 學習體會
在學習的過程中難免會遇到困難但是我們要不畏懼困難 要努力克服學習上的困難,c語言的學習需要夜以繼日的練習,不然很容易生疏。這周又學習了新的綜合程序設計分支結構,還有char數據類型,switch語句,以及break的使用,收獲頗豐,雖然感覺還是挺難得,但是也很有趣。這一個月學習的最多的就是for while if-else break continue等語句, 哪一步設置循環,循環結束的條件是什么,嵌套循環怎么使用都是這個月學習的難點,感覺做pta需要數學基礎,不然題目都可能看不懂。千淘萬漉雖辛苦,吹盡狂沙始到金。堅持就是勝利!