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

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

打印 學習 一維數組 陷阱 int 反序 直接插入排序 http 展示

一.PTA實驗作業

題目1: 7-6 掉入陷阱的數字

1. 本題PTA提交列表

技術分享圖片

2.設計思路

定義變量N,i,g=1/位數/,a/各位數字相加的和/,b=0,j,N1,c,d/儲存N/;

do{
for(i=0;i

3.代碼截圖

技術分享圖片

4.本題調試過程中碰到的問題以及解決方案

技術分享圖片

題目2: 7-4 打印菱形圖案

1. 本題PTA提交列表

技術分享圖片

2.設計思路

int n,a,i,l,j,k,g,h,count=0,count1=0;

輸入n
if((n-1)%2==0)則繼續
由規律可以看出,
上半部分(大三角型)有 (n+1)/2行
for(i=(n+1)/2;i>0;i--){
行數count加1
輸入的數量=2count-1
for(j=2count-1;j>0;j--)
在輸入完每一行的

後輸出換行

for(k=(n-1)/2;k>0;k--){
下半部分有 (n-1)/2行
思路同上

3.代碼截圖

技術分享圖片

4.本題調試過程中碰到的問題以及解決方案

  • 1.思路錯誤:漏掉了空格的步驟
    技術分享圖片
  • .解決方案:如上代碼。根據空格數與行數的規律輸出空格
  • 2.部分正確:if((n-1)%2==0)在判斷奇數時,求余寫成除法
    .技術分享圖片
  • 解決方案:改為求余的%

題目3: 7-9 切分表達式

1. 本題PTA提交列表

技術分享圖片

2.設計思路

3.代碼截圖

技術分享圖片

4.本題調試過程中碰到的問題以及解決方案

  • 1.編譯錯誤:由於初試字符數組所以將其輸入的gets寫成了getchar
    技術分享圖片

二.截圖本周題目集的PTA提交列表及最後排名

技術分享圖片

技術分享圖片

三、本周學習總結(3分)

1.你學會了什麽?

  • 1.1 一維數組如何定義、初始化?
    類型名 數組名 [數組長度];
    如:int a[10];

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

一維數組再內存中結構是連續的,線性的;

數組名指定數組內每個元素的類型

  • 1.3 為什麽用數組?
    使用數組可以讓一批相同類型的變量使用同一個數組變量名,用下標來相互區分
    表達簡潔,可讀性好,便於使用循環結構

  • 1.4 介紹選擇法、冒泡法、直接插入排序如何排序?偽代碼展示.
    冒泡法
    冒泡排序法:即兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。

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

二分查找法就是先尋找數組中間位置的數,判斷其是否為要尋找的數,不是的話,大於要找的數,則往左繼續二分,小於要找的數,則往右二分。
二分查找法適用於排序過的數組,速度快,順序查找法要遍歷數組,在數組很大時效率低,但對數組本身沒有要求,適用於短數組

  • 1.6 二維數組如何定義、初始化?
    二維數組定義格式為 類型名 數組名 [行長度][列長度]
    初始化格式為類型名 數組名 [行長度][列長度] = { {初值表0}, ... ,{初值表k}, ...} 如果初始化了全部行,則可以忽略行長度

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

下三角qi>=j 上三角i<=j 對稱矩陣 a[i][j]=a[j][i]

  • 1.8 二維數組一般應用在哪裏?
    當數組中的數表示的不止一種含義時,比如我們要表示不同的人不同科目的成績時,這裏有兩個變量,不同的人和不同科目,所以要用二維矩陣,在或者是矩陣時,就要用到二維數組

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

  • 1.對於二維矩陣還不熟練。尤其是轉置

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