C語言部落格作業--一二維數組

來源:互聯網
上載者:User

標籤:getc   調整   分行符號   部落格   函數   https   整數   比較   左移   

一、PTA實驗作業題目一:7-5 數組迴圈左移1.本題提交列表

2.設計思路
定義四個整形變數n,m,j,k輸入n,m的值if(m==0){定義一個數組c[n];按順序給該數組賦值;按順序輸出數組c;程式結束。}if(m>n){定義一個數組c[n]依次輸入該數組中的數;if(m%n==0){按順序輸出數組c中的數;程式結束。}else{定義一個數組d[n]for(i=0;i<n;i++) d[i]=c[(i+m%n)%n];按順序輸出數組d中的數;程式結束。}}定義兩個數組a【n】,b【m-n】;按順序輸入數組a【n】中的n個數;按順序輸入數組b【m-n】中的m-n個數;按順序輸出數組b中的各個數;按順序輸出數組a中的各個數程式結束。
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明


,問題考慮不全面,導致失分。
將條件補齊後完成。

題目二:7-8 加法口訣表1.本題提交列表

2.設計思路
定義五個變數repeat,n,j,m,i,k;輸入repeat的值;for(k=1;k<=repeat;k++){輸入n的值;定義一個數組number【n】;輸出‘+’;for(i=0;i<n;i++){將i+1的值賦給number【i】;如果i=n-1,跳出迴圈;輸出number【i】的值;}輸出number【n-1】的值;for(i=0;i<n;i++){輸出number【i】的值;for(j=0;j<=i;j++){把number[i]+number[j]的值賦給m;當j=i時,跳出迴圈;輸出m的值;}輸出m的值;}}程式結束。
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明


忘記了repeat的用處以及之前沒有明白輸出格式,加上一個repeat條件的迴圈然後把n的輸出放到迴圈中,在對中間的代碼進行一些小改動就完成了,輸出格式是問的同學。

題目三:7-9 判斷上三角矩陣1.本題提交列表

2.設計思路
定義七個變數repeat,n,i,j,k,count,m;輸入repeat的值;for(i=1;i<=repeat;i++){輸入n的值;定義一個矩陣a【n】【n】;按順序輸入矩陣中的各個數;當矩陣下三角(不包括對角線)中的所有數均為0時,輸出YES;否,則輸出NO;}程式結束。
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明


每次輸出要佔一行,所以每個輸出後加上分行符號;
在這裡第一次接觸段錯誤,是矩陣定義出了問題,應該把a【n-1】【n-1】改為a【n】【n】。

二、本周題目集的PTA最後排名

三、同學代碼結對互評題目:7-5 數組迴圈左移

My Code:

吳軍霖的代碼:

互評:他的代碼用了函數,極為簡便,但是有點難懂,可能是他的學習進度比我快出太多,運用了一些我不知道的表示方法,相較而言My Code有點複雜而且冗長,
但是我還是比較喜歡My Code。

四、本周學習總結1.你學會了什嗎?1.1C中如何儲存字串?

定義一個字元數組,用迴圈來輸入該字元數組的各個字元
如:char str[10]
for(i=0;i<10;i++) scanf("%c",&str[i]);

1.2字串的結束標誌是什麼,為什麼要結束標誌?

‘\0‘;因為‘\0’可以用來控制字元數組的輸入與輸出,控制迴圈。

1.3字串輸入有哪幾種方法?

三種:
1.使用gets()直接輸入整個字串;
2.定義數組和迴圈變數,用迴圈結構for(i=0;i<n;i++) str[i]=getchar()即可;
3.while((str[i]=getchar())!=‘\0’);

1.4數字字元怎麼轉整數,寫個虛擬碼?
定義整型變數number存放輸入的數,i為迴圈變數定義字元數組str[10]存放字串i=0while((str[i]=getchar())!=‘\0’)每次迴圈完i的值加一number=0for(i=0;str[i]!=‘\0’;i++)if(str[i]>=‘0’&&str[i]<=‘9’)number=number*10+str[i]-‘0‘輸出number
1.5 16進位、二進位字串如何轉10進位?寫虛擬碼?

16進位:

定義整型迴圈變數i,k定義字元數組hexad[80],str[80]定義長整型變數number存放十進位數i=0while((str[i]=getchar())!=‘\0’)    每次迴圈結束後i的值加一遍曆數組hexad[i]k=0for(i=0;str[i]!=‘\0’;i++)字元數組str[i]輸入的字元存在十六進位的字元    數組hexad[k]存放str[i]的字元遍曆hexad數組number=0for(i=0;hexad[i]!=‘\0’;i++)    如果數組hexad存放0~9的字元    number=number*16+hexad[i]-‘0’    如果數組hexad存放A~F的字元    number=number*16+hexad[i]-‘A‘+10    如果數組hexad[i]存放a~f的字元    numbe=number*16+hexad[i]-‘a’+10輸出十進位的值number

二進位:

位元組a[n]for(i=0;a[i]不為‘\0’;i加一)n=n*2+a[i]-‘0‘輸出n
2.本周的內容,你還不會什嗎?

不會的內容很多,具體就說不出來了,實在太多了,感覺現在學習很吃力。。

3.期中考試小結3.1你認為為什麼沒考好?

(1)基礎差;
(2)考試前沒有做充足的準備,複習不到位;
(3)考試時時間分配不合理,在分數少的選擇題耗費了太多時間。

3.2 羅列錯題。3.3下半學期要怎麼調整C的學習?
  • 預習作業要認真及時完成;
  • PTA上的題目爭取全部完成,不懂的全部弄懂;
  • 課本要仔細認真的看,靜下心來,總能看得進的;
  • 上機考試前認真複習,考試後認真總結;
  • 一定要花更多更多的時間在C語言上,時間不夠就擠,總會有的。

C語言部落格作業--一二維數組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.