一、表格
問題 | 答案 |
---|---|
這個作業屬於那個課程 | C語言程序設計II |
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10095 |
我在這個課程的目標是 | 學習好C語言,熟練掌握編譯代碼的相關技巧,解決自己所遇到的問題 |
這個作業在那個具體方面幫助我實現目標 | 熟練循環結構的使用,熟練的編寫程序。 |
參考文獻 | 百度,C語言程序設計,《C Primer Plus》 |
二、本周作業
1.PTA實驗作業
1.1 題目名1 輸出三角形字符陣列
題目內容:
本題要求編寫程序,輸出n行由大寫字母A開始構成的三角形字符陣列。
輸入格式:
輸入在一行中給出一個正整數n(1≤n<7)。
輸出格式:
輸出n行由大寫字母A開始構成的三角形字符陣列。格式見輸出樣例,其中每個字母后面都有一個空格。
輸入樣例:
4
輸出樣例:
A B C D
E F G
H I
J
1.1.1數據處理
int n,i,j,count=0;
定義整型變量,n是輸入的數,i是行數,j是列數,count用於累加
char ch;
定義字符型,用於后面的輸出
scanf("%d",&n);
輸入n的值
for(i=n;i>0;i--)
for(j=i;j>0;j--)
用於行和列的循環
printf("%c ",'A'+count);
輸出n行由大寫字母A開始構成的三角形字符陣列
count用以累加
1.1.2實驗代碼截圖
1.1.3 造測試數據
1.1.4 PTA提交列表及說明
提交列表說明:
1.答案錯誤:在重新定義增加一個變量count,並且令count=0;並且在for語句中增加count++語句用來逐漸加一。
2.答案正確:。。。。
1.2 題目2 梅森數
題目內容:
1.2.1數據處理
#include<stdio.h>
#include<math.h>
int n,i,a,y=0,count=0;
定義整型變量,count用於計數,n是輸入的數,y用於計算梅森數,a和i用於循環
輸入n的值
if(n==1)
判斷n是否等於一,如果等於則進行輸出None
for(a=2;a<=n;a++)
用以循環,並且a<=n,從小於n的數開始一個個進行循環
令count=0;
for(i=2;i<y/2;i++)
讓除數從二開始,進行循環,並且進行累加
if(y%i==0)
判斷y%i取余是否等於零
count進行不是素數的累加,並且進行跳出
if(count==0)
判斷count是否等於零
進行梅森數的輸出
1.2.2 實驗代碼截圖
1.2.3 造測試數據
1.2.4 PTA提交列表及說明
提交列表說明:
1.部分正確:將if(y!=1&&j>i/2)語句改正為if(y!=1&&y%j!=0)語句
2.部分正確:經過在devC++上反復測試后明白了一些問題,因為1不是素數,所以不管怎么樣只要輸入的是大於1一的數就會有素數的存在,所以增加語句if(n==1)
printf("None");
3.答案正確:。。。
挑戰題 同構數
題目內容:
一個數恰好出現在它的平方數的右端,這個數就稱為同構數。找出1~1000之間的全部同構數。
輸出格式:
在一行中輸出所有滿足條件的同構數,每個數輸出占6列。沒有其它任何附加格式和字符。
輸出樣例:
1 5 6 25 76 376 625
1.3.1數據處理
#include<stdio.h>
#include<math.h>
int number,i;
定義整型變量,i是從一開始的數,用以累加,number用於i的平方數
for(i=1;i<=1000;i++)
i從一開始逐漸增加,並且i的最大值為1000,進入循環
if語句用來判斷平方數的右端是否等於i
輸出滿足條件的i
1.3.2 實驗代碼截圖
1.3.3 造測試數據
輸入樣例 | 輸出樣例 | 說明 |
---|---|---|
無 | 1 5 6 25 76 376 625 | 驗證題目所給數據 |
1.3.4 PTA提交列表及說明
說明:剛開始不理解什么是同構數,但后來查了一下資料才明白說明是同構數;在運行的時候也總是少輸出一個數,后來在devc++上調試之后才發現自己的錯誤,改正之后在Pta上就一次性對了。
2.代碼互評
同學代碼一:
自己代碼一:
代碼比較:
1.自己的代碼和同學的代碼總的思路上沒差不多的,只是定義變量不一樣。
2.我運用了#include<math.h>,二而同學的則沒有用也寫出來了,這就導致同學的看起來比較的簡潔。
3.我比同學多運用了一個數學表達式,用來計算平方后的數,而同學的是直接在if語句中進行運算,沒有單獨列出來。
同學代碼二:
自己代碼二:
代碼比較:
1·其實倆份代碼的總的思路是差不多的我覺得,只是寫出來的方法有所不同,所以看起來有所不同。
2.我的代碼中是用for語句進行素數的計算,而同學的則是用while進行素數的計算。
3.我運用了break 進行跳出,而同學並沒有運用到。
3.學習總結
3.1 學習進度條
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第一周(9.19-3.27) | 四天 | 40 | Hello world編程和Markdown語法 | 對待大部分內容都不理解 |
第二周(9.25-10.4) | 四天 | 35 | 華氏度與攝氏度的轉換 | 不理解數據類型 |
第三周(10.8-10.11) | 三天 | 90 | if-else語句、格式化輸入語句 | 分不清整型變量和浮點型變量 |
第四周(10.15-10.17) | 三天 | 100 | 有關for循環體的運用 | 有時候不清楚循環體是什么 |
第五周(10.22-10.25) | 三天 | 130 | 使用自定義函數來編程和生成乘方表和階乘表 | 不知道如何調試函數以及在哪里設置斷點 |
第六周(10.30-11.2) | 四天 | 180 | 分支結構、字符型數據類型 | 對待字符型題目還是不能夠准確理解 |
第七周(11.06-11.08) | 三天 | 190 | 學會多分支結構switch語句的使用 | 有時不能准確理解case后的有些語句 |
第八周(11.13-11.15) | 三天 | 200 | 學會使用while和do-while結構解決問題 | 不能准確判斷while的循環條件 |
第九周(11.20-11.22) | 三天 | 195 | 學會break、continue的使用以及循環的嵌套 | 有時候對循環條件判斷錯誤 |
第十周(11.26-11.27) | 兩天 | 215 | 熟悉並且練習循環結構的使用 | 有時候不能准確判斷運用哪一種結構較為簡單 |
3.2 累積代碼行和博客字數
3.3 學習內容總結和感悟
3.3.1 學習內容總結
3.3.2 學習體會
1.在這一周我們主要是對我們這幾周的學習進行了一下總結,並且進行了一個簡單梳理。
2.主要是總結了if-else語句,for語句,while語句,do-while語句,break,continue的不同之處以及一些相同點。
3.在上課時老師主要講述了一下有關考試的相關事宜,老師說到時候會有編程題,而且是三道,聽完之后有點慌了,因為自己的打字速度比較的慢,害怕到時候寫不完。所以說在考試之前的這段時間里我一定要加快一下自己的打字速度。並且一定要做好復習工作。加油!