1. 程式人生 > >C語言第六次博客作業--數據類型

C語言第六次博客作業--數據類型

其它 矩陣 end 地址 技術 比較 result .com number

一、PTA實驗作業

題目1: 7-3 倒順數字串

1. 本題PTA提交列表

技術分享圖片

2.設計思路

  • (1) 定義兩個整型變量i,n,n為輸出的數。
  • (2)輸入n。
  • (3)若n的值不為1,
    for i=1 to i<=n,
    輸出i和一個空格,
    end。
    for i=n-1 to i>1,
    輸出i和一個空格,
    end。
    輸出1。
  • (4)若n==1,則直接輸出1。

3.代碼截圖

技術分享圖片

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

  • (1)沒有考慮只輸入1的情況。
    技術分享圖片
  • 解決方法:加入if(n==1)的情況。

題目2:7-7 發紅包

1. 本題PTA提交列表

技術分享圖片

2.設計思路

  • (1)定義八個整型變量money100,money50,money20,money10,money5,money2,money1為數量,x為輸入的金額
  • (2)輸入金額x。
  • (3)money100=money/100 計算100元張數。
  • (4)money50=(x-money100*100)/50;計算50元張數。
  • (5)money20=(x-money100100-money5050)/20;計算20元張數。
  • (6)同理算出money10,money5,money2,money1。
  • (7)輸出對應金額的張數。

3.代碼截圖

技術分享圖片

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

  • (1)剛開始答案錯誤錯誤。技術分享圖片
  • 解決方法:改正計算。
  • (2)格式錯誤。
    技術分享圖片
  • 解決方法:看好要求改正。

題目3:7-10 簡單計算器

1. 本題PTA提交列表

技術分享圖片

2.設計思路

  • (1)定義五個整型變量ch,i,result,number,flag=0。ch為輸入的字符,number為計算的數,result為結果。
  • (2)輸入一個result ,再輸出字符ch。
  • (3)while(ch!=0)
    輸入數字number,
    若ch==‘=‘,則跳出循環。
    若ch==‘/‘,若輸入的number為0,則flag=1;若輸入的number!=0,則result=result/number。
    若ch為其它的四則運算符號,則計算result=result ch number。
    若ch為非法字符,則flag=1。
    輸入ch。
    end.
  • (4)若flag=1,則輸出ERROR。
  • (5)若flag=0,則輸出result。

3.代碼截圖

技術分享圖片

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

  • (1)沒用判斷除法分母為0的情況。
    技術分享圖片
  • 解決方法:利用flag來判斷輸出。

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

技術分享圖片

三、本周學習總結

1.你學會了什麽?

1.1 一維數組如何定義、初始化?

  • 數組類型 數組名[數組長度]。
  • 數組長度是一個整型常量表達式,必須有確定的值。
  • 數組中有若幹元素,可以在{}中給出各數組初值,各初值之間用逗號隔開,把{}中初值依次賦值給各元素。

1.2 一維數組在內存中結構?可畫圖說明。數組名表示什麽?

技術分享圖片

  • 數組名是一個地址常量,存放數組內存空間首地址。

1.3 為什麽用數組?

  • 在程序中使用數組,可以讓一批相同類型的變量使用同一個數組變量名,用下標來相互區分。表達簡潔,可讀性好,便於使用循環結構。

1.4 介紹選擇法、冒泡法、直接插入排序如何排序?偽代碼展示.

選擇法:

  • 1.將輸入數依次賦給數組a。
    2.for(i=0;i<n-1;i++)
    min=i, min為最小值所在下標。
    for(j=i+1;j<n;j++)
    if a[j]<a[min],則a[j]與a[min]值互相交換。
    end。
    end。
    3.輸出。

冒泡法:

  • 1.將輸入數依次賦給數組a。
    2.for(i=0;i<n-1;i++)
    max=i ,max為最大值所在下標。
    for(i=0;i

直接插入法:

  • 1.將輸入數依次賦給數組a。
    2.for(i=1;i

1.5 介紹什麽是二分查找法?它和順序查找法區別?

  • 每次都將區間分成兩半,判斷查找的數所在區間,多次折半,直到找到該數或無法折半。
  • 二分法要求數組按順序排列,但二分法的運行效率比較高。

1.6 二維數組如何定義、初始化?

  • 定義:數組類型 數組名[數組行長度][數組列長度]
  • 初始化:用嵌套循環輸入

1.7 矩陣轉置怎麽實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關系?

  • 調換行列的下標,如a[i][j]轉換為a[j][i]。
  • 上三角:i<=j
  • 下三角:i>=j
  • 對稱矩陣:a[i][j]==a[j][i]

1.8 二維數組一般應用在哪裏?

  • 矩陣問題

2.本周的內容,你還不會什麽?

  • 課堂派最後一題,沒用讀懂題目意思。說明練的代碼還是不夠,無法快速領會題意,相處思路。
  • 對數組的行列下標有時還是容易犯習慣性錯誤。
  • 考試選擇題錯太多,說明基礎知識不紮實。
  • 手寫代碼不夠規範,美觀。

C語言第六次博客作業--數據類型