C語言I博客作業10


一、表格


問題 答案
這個作業屬於那個課程 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.在上課時老師主要講述了一下有關考試的相關事宜,老師說到時候會有編程題,而且是三道,聽完之后有點慌了,因為自己的打字速度比較的慢,害怕到時候寫不完。所以說在考試之前的這段時間里我一定要加快一下自己的打字速度。並且一定要做好復習工作。加油!


免責聲明!

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



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