C語言I博客作業10


一.表格


問題 答案
這個作業屬於那個課程 C語言程序設計II
這個作業要求在哪里 C語言I博客作業10
我在這個課程的目標是 熟練的運用與掌握計算機系統和C語言知識
這個作業在那個具體方面幫助我實現目標 加強嵌套循環和定義字符型的使用
參考文獻 《C語言程序設計》、《C Primer Plus》

二.本周作業


1. PTA實驗作業(20分/題)

從PTA題目集中選出2個你最滿意的題目完成以下內容,選擇題目難度越大,分值越高,每題20分(每項5分)

1.1 題目名1

1.1.1數據處理

數據表達:先根據題目定義整型變量n表示-----一個正整數n,以及count = 0。
數據處理:(偽代碼如下)
定義變量n、以及 count = 0
輸入正整數n
進入for嵌套循環
for (int i = n; i > 0; i--) {
        for (int j = 0; j < i; j++) {
輸出結果
printf("%c ", 'A' + count);
輸出結果為字符型數據所以應用 "%c " 
程序結束

**1.1.2實驗代碼截圖 **

1.1.3 造測試數據

1.1.4 PTA提交列表及說明

答案正確:......

1.2 題目2

1.2.1數據處理

數據表達:先根據題目要求定義整型變量 梅森數num,正整數n, i,j,f=0 。
數據處理:(偽代碼如下)
定義數學函數
定義變量 梅森數num,正整數n, i,j,f=0 
輸入正整數n
進入for嵌套循環
for(i=2;i<=n;i++){		
    num=pow(2,i)-1;	
表示

    for(j=2;j<=sqrt(num);j++)
輸出結果
printf("%d*%d=%-4d",j,i,i*j);
if(num%j==0) break;	
如果取余=0的話則跳出循環	
        if(j>sqrt(num)){	
printf("%d\n",num);	
如果滿足if中的條件則輸出
f++;
  if(f==0) printf("None");	
換行輸出
程序結束

1.2.2 實驗代碼截圖

1.2.3 造測試數據

1.2.4 PTA提交列表及說明

編譯錯誤:用法錯誤,一開始寫的時候並沒有想用數學函數來做后來做的時候再改的,所以我沒有在一開始定義函數 #include<math.h> 。
答案正確:........

1.3題目3

1.3.1數據處理

數據表達:先定義一個數學函數 Number ,定義整型變量 a,b。
數據處理:(偽代碼如下)
自定義函數
int Number(int a)
定義變量
while(a!=0){
開始 while循環判斷a是否等於0
if-else語句判斷
if(b%10!=a%10){
b除10取余不等於a除10取余
            return 0; 
    else{
若b除10取余等於a除10取余
      b=b/10;
      a=a/10;
return 1;
int main()
for(int i=1; i<1000; i++){
進入for循環判斷同構數
if(Number(i)){
若滿足同構數的條件則輸出
printf("%6d", i);
因為在一行中輸出所有滿足條件的同構數,每個數輸出占6列所以是 "%6d" 
程序結束

1.3.2 實驗代碼截圖

1.3.3 造測試數據

1.3.4 PTA提交列表及說明

格式錯誤:我打的一開始不小心多打了一個空格導致 “!=” !和 = 分開了,所以格式錯誤。
格式錯誤: 將上個錯誤改正后再次提交但是還是格式錯誤,放到 Dev-C++ 上運行發現輸出結果與輸出樣例不同,再次讀題發現在一行中輸出所有滿足條件的同構數,每個數輸出占6列。所以將輸出代碼改為 "%6d" 。
答案正確:將這個錯誤改正后提交顯示答案正確。

2.代碼互評(5分)

同學代碼截圖1

自己代碼截圖1

比較:
1.同學代碼是使用了表達式 i==i*i%10||i==i*i%100||i==i*i%1000 來表達判斷是否為同構數的條件,但是我是使用的自定義函數來編寫的。
2.兩份代碼在本質和使用意義上是一樣的,但是我感覺思考方向上是有些不同的。
3.同學代碼在代碼行數上是更簡潔的,相對於我的代碼是更簡單。

同學代碼截圖2

自己代碼截圖2

比較:
1.同學代碼在開始先定義字符型變量,但是我的是在輸出的時候進行字符型輸出。
2.這樣相較而言,我感覺我的代碼寫起來就比較方便簡潔。

3.學習總結(15分)

3.1 學習進度條


周/日期 這周所花的時間 代碼行 學到的知識點簡介 目前比較迷惑的問題
第一周/9-19 這周花了大約三天 30 Hello world編程
第二周/9-25 這周花了大約三天 50 華氏度與攝氏度
第三周/10-9 這周花了大約三天 100 目前是常量,變量的應用以及分段函數中的 if-else 的使用 在PTA的使用中明明答案沒有問題但就是顯示各種問題,在寫博客園時對表格以及格式的編輯總是l力不從心!
第四周/10-15 這周花了大約兩天 150 for語句循環體的使用 各種變量,語句的使用會混亂
第五周/10-24 這周花了大約三天 140 階乘的編程,自定義函數 參數的設定
第六周/10-31 這周花了大約三天 200 多分支結構和else-if語句 字符型數據
第七周/11-6 這周花了大約三天 210 switch語句 switch語句如何更好的與for語句、if-else語句連用
第八周/11-13 這周花了大約兩天 150 while語句和do-while語句 字符型具體表達
第九周/11-21 這周花了大約三天 190 break語句和continue語句以及嵌套循環 continue語句的使用
第十周/11-26 這周花了大約三天 160 嵌套循環和字符型使用 格式錯誤的真諦

3.2 累積代碼行和博客字數

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

3.3.1 學習內容總結

3.3.2 學習體會

 1.在本周中學習中復習了上周的知識,重點又講解了嵌套循環的實際應用與操作以及在PTA上的作業講解。
 2.我在課堂上主要學習到了如何在代碼中加入自己的理解和思考。另外,我在聽助教講解題目時,也知道了寫代碼時可以把代碼分開寫分為各個版塊來寫。
 3.還有大概兩周就要考試了,所以在寫代碼的方面上我還應該再加把勁!


免責聲明!

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



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