C語言1博客作業09


問題 答案
這個作業屬於在哪個課程 C語言程序設計II
這個作業要求在哪里 <a href="https://edu.cnblogs.com/campus/zswxy/CST2019-1/homework/10027"
target="_blank">C語言I作業09
我在這個課程目標是 學好C語言,為后面學習打好基礎
這個作業具體在哪里方面幫助我 熟悉break、continue的使用 , 熟悉使用循環的嵌套解決問題
參考文獻 <a href="https://baidu.com"target="_blank">百度 , <a href="https://www.cnblogs.com/pengchen511/p/10564067.html"target="_blank">C語言作業評價標准

一:PTA實驗作業

1.1題目名跟奧巴馬一起畫方塊

美國總統奧巴馬不僅呼吁所有人都學習編程,甚至以身作則編寫代碼,成為美國歷史上首位編寫計算機代碼的總統。2014年底,為慶祝“計算機科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機代碼:在屏幕上畫一個正方形。現在你也跟他一起畫吧!

輸入格式:

輸入在一行中給出正方形邊長N(3≤N≤21)和組成正方形邊的某種字符C,間隔一個空格。

輸出格式:

輸出由給定字符C畫出的正方形。但是注意到行間距比列間距大,所以為了讓結果看上去更像正方形,我們輸出的行數實際上是列數的50%(四舍五入取整)

1.1.1數據處理

1.數據表達:用了整形變量i,j, n;字符型變量 c
2.數據處理:

先定義變量i,j, n,c;
輸入整數你,字符c;
  for i=1 to i<=(n+1)/2 do//輸出行數實際上是列數的50%
  i++
  for j=1 to j<=2 do//輸出的列數
  j++
  end

1.1.2實驗代碼貼圖

1.1.3造數據測試

輸入數據 輸出數據 說明
10 a aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa aaaaaaaaaa PTA數據
4 a aaaa aaaa 隨機打的
5 a aaaaa aaaaa aaaaa 隨機打的

1.1.4PTA提交列表說明


1.答案錯誤,這題是用字符c輸出,但是我輸入的數據沒有用%c,導致錯誤
2.編譯錯誤,沒有使用英文鍵盤,分號使用錯誤

1.2題目名找完數

所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程序,找出任意兩正整數m和n之間的所有完數。

輸入格式:

輸入在一行中給出2個正整數m和n(1<m≤n≤10000),中間以空格分隔。

輸出格式:

逐行輸出給定范圍內每個完數的因子累加形式的分解式,每個完數占一行,格式為“完數 = 因子1 + 因子2 + ... + 因子k”,其中完數和因子均按遞增順序給出。若區間內沒有完數,則輸出“None”。

1.2.1數據處理

1.數據表達:用了整形變量m,n,i,j,s,k,count
2.數據處理

定義變量m,n,i,j,s,k,count,m,n是輸入的一個區間的正整數,i,j,k是在這個區間的數,count是累加完數
for(i=m;i<=n;i++)//就行循環
for(j=1;j<i;j++)
if(i%j==0)//判斷是否是該數的因子
s+=j;累加因字的和
if(s==i)判斷是否為完數
printf("%d = 1",i)先打印1,每個完數都有1
for(k=2;k<j;k++)//重復操作
找到所有完數
if(count==0)沒有就輸出None

1.2.2實驗代碼貼圖

1.2.3造數據測試

輸入數據 輸出數據 說明
2 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 PTA數據
2 10 6 = 1 + 2 + 3 隨機打的
5 30 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 隨機打的

1.2.4PTA提交列表說明



1.部門正確,我一開始以為是我定義變量和題目的字母沖突,然后改了字母,還是一樣
2.部分正確,問了同學,是我的count沒有賦值,導致count計數錯誤

二:代碼互評

2.1.1同學代碼

2.1.2自己代碼

2.1.3相互對比

1.定義變量不同,因為后面運用的表達式不同,語句也不一樣
2.他用的是if-else語句分情況討論,比較清楚,我是直接用for語句解決問題,代碼比較簡單

2.2.1同學代碼

2.2.2自己代碼

2.2.3相互對比

1.定義變量不同,因為后面運用的表達式不同,語句也不一樣
2.他用了for語句中我們表達式不一樣,他是把情況列出來
3.他把那個和定義了一個字母,我是用if判斷和是不是等於那個數,所以我們后面 printf不一樣

三.學習總結

3.1學習進度條

這周花的時間 代碼行 學到的知識簡介 目前比較疑惑的問題
第一周 3天 47 簡單的編程
第二周 4天 55 常量,變量,數據類型和一些運算符以及賦值運算
第三周 4天 95 關系運算、if-else語句、格式化輸入語句scanf(),以及常用的數學庫函數 格式控制
第四周 4天 92 使用for循環語句實現指定次數的循環程序設計 循環的順序
第五周 4天 85 對函數的定義和調用有初步的認識,能模仿編程 對函數題還不熟練
第六周 4天 152 學會多分支結構、字符型數據類型和邏輯運算符 字符型函數不太了解
第七周 4天 182 熟悉多分支結構switch語句的使用 怎么用switch語句簡單些
第八周 3天 118 熟悉使用while和do-while結構解決問題 字符型再加上while語句不太會用
第九周 4天 196 熟悉break、continue的使用 ;熟悉使用循環的嵌套解決問題 嵌套問題還不是很會

3.2累積代碼行和博客字數

3.3學習內容總結

3.3.1學習內容總結

3.3.2學習體會

1.感覺后面的代碼越來越復雜,需要花的時間更多。
2.這周學習了循環嵌套,使循環的代碼變得簡單許多,這些代碼循環還是蠻有意思的
3.學習了一個新的語句,continue的使用,continue語句雖然方便,但是它只能用於循環,而break語句使用范圍就比較廣
4.學習的東西越來越多,感覺很多都忘了,需要勤加復習,繼續加油


免責聲明!

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



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