C語言部落格作業--資料類型

來源:互聯網
上載者:User

標籤:需要   規律   end   大小   系統   相等   c語言   標識   求和   

一、PTA實驗作業題目1:列印菱形圖案1. 本題PTA提交列表

2. 設計思路

定義整形變數n,t,迴圈變數i,j
輸入n的值
如果n!=1
則for i=1 to i<=(n+1)/2
for j=n+1-2i to j>=1
輸出空格
end j
for t=1 to t<=2
i-1
輸出
end t
輸出\n換行
end i
for i=1 to i<(n+1)/2
for j=1 to j<=2
i
輸出空格
end j
for t=1 to t<=n-2i
輸出

end t
輸出\n換行
end i
n=1時
則for i=1 to i<=(n+1)/2-1
輸出空格
end i
輸出*和一個空格

3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 沒找到菱形後半部分的規律,答案和例題得的一樣,但換其他數字輸入後就不是菱形了。
  • 沒有討論當輸入的數為1的特殊情況,提交時看到pta上的提示才發現這點。
題目2:掉入陷阱的數字1. 本題PTA提交列表

2. 設計思路

定義整形變數n,sum,i=1,item1,item2 //sum表示各位元字相加的和,item1用來存放第N個數,item2用來存放第N+1個數
輸入n的值
sum賦初值為0
do
t=n;//t用來存放第N個數
while n!=0 //求各位元的和
sum=sum+n%10
n=n/10
end while.
sum=sum*3+1
sum的值賦給item2 //item2用來存放第N+1個數
輸出i和sum的值
n=sum;
sum再次賦值為0
i++
while x!=item1時
end do.

3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 第一次寫的時候誤解了題意,以為是各位元字相加求和那步只需在第一次的時候執行。
  • 不知道while迴圈結束的條件是什麼,最後定義了兩個變數來記錄前後兩個數的值,不知道這樣會不會比較麻煩。
題目3:簡單計算機1. 本題PTA提交列表

2. 設計思路

定義整形變數 number,sum,flag初始值為0
定義字元型變數 op
輸入sum的值
while op不等於‘=‘成立
則 輸入一個字元
如果op等於‘=‘
flag=0;結束迴圈
else if op等於‘+‘
sum=sum+number;
else if op等於‘-‘
sum=sum-number;
else if op等於‘
sum=sum
number;
else if op等於‘/‘
如果number==0
則 flag=1;結束迴圈
else
sum=sum/number;
else
flag=1;

end while迴圈

如果flag==0
輸出sum最終值
else
輸出"ERROR"

3.代碼

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

第一次寫的時候我沒有在迴圈外輸出一個數,而是直接在迴圈內直接輸出一個數字和字元,再迴圈。提交顯示部分正確,因為我這個代碼當輸入的只有一個數字和一個等號時不能輸出結果。如我輸入’1=‘時,要輸出的’1‘這個數,而我寫的那個代碼不能實現,所以要放一個數在迴圈外。

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

pta排名

三、本周學習總結1.你學會了什嗎?1.1 一維數組如何定義、初始化?
  • 定義一個數組,需要明確陣列變數名,數組元素的類型和數組的大小。一般形式為 類型名 數組名【數組長度】。數組可以在定義的同時進行初始化。形式是以一對花括弧給出常量值表,系統按下標順序(儲存順序)對 數組元素進行初始化。給定常數的個數不能超過數組定義的長度。如果給定常數的個數不足,則系統對其餘元素初始化為0值。
1.2 一維數組在記憶體中結構?可畫圖說明。數組名表示什嗎?
  • 在定義數組之後,系統根據數組中元素的類型及個數在記憶體中分配了一段連續的儲存單元用於存放數組中的各個元素,並對這些單元進行連續編號,即下標,以區分不同的單元。每個單元所需的位元組數由數組定義時給定的類型來決定。
  • c語言規定,數組名表示該數組所分配連續記憶體空間中第一個單元的地址,即首地址。
1.3 為什麼用數組?

使用數組會讓程式變的簡單,而且避免了定義多個變數的麻煩。定義數組能 節省記憶體。在程式中使用數組,可以讓一批相同的類型的變數使用同一個陣列變數名,用下標來相互區分。他的優點是表達簡潔,可讀性好,便於使用迴圈結構。

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

定義變數N,,temp,迴圈變數i,j
定義數組a[N]
fori=0 to i<N
輸入a[i]的值
end i
for i=0 to i<N-1
for j=i+1 to j

       冒泡排序法

定義變數a[N],,temp,迴圈變數i,j;
for(i=0 to i<N.
輸入a[i]的值
end i
for i=0 to i<N //冒泡排序
for j=0 to j

   直接插入排序

for i=0 to i<N.
輸入a[i]的值
end i
for i=1 to i<N
如果(a[i]

end i

1.5介紹什麼是二分尋找法,它和順序尋找法區別?

二分尋找法:確定該區間的中點位置:mid=(low+hight)/2

(1)將待查數與中點的數作比較,若相等,則尋找成功。如果mid>要尋找的數,則捨去mid右邊的數,把mid左邊的數定為一個新序列。令high=mid-1。

(2)如果mid小於該數,,則捨去mid左邊的數,把mid右邊的數定為一個新序列。這時low=mid+1。

(3)重複步驟(1)和(2).

(4)如果low>high,則該序列中找不到相同的數。
區別

  • 順序尋找法要把一個數與數列一個個比較,尋找效率低。
  • 二分尋找法一定是有順序的數列,而順序尋找法不需要。
1.6 二維數組如何定義、初始化?
  • 二維數組的定義形式為:類型名 數組名【行長度】【列長度】

  • 初始化的兩種方式:1分行賦初值,一般形式為:類型名 數組名【行長度】【列長度】={{初始值表},···,{初始值表k},···};

2順序賦值法,一般形式為:類型名 數組名【行長度】【列長度】={初值表}。

1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。
  • 要實現矩陣轉置只需把下標的i、j,變成j、i,即交換所有的a[i][j]和a[j][i]。

  • 下三角:i>=j

  • 上三角:i<=j

  • 對稱矩陣:a[i][j]==a[j][i]

1.8 二維數組一般應用在哪裡?
  • 主要用於表示二維表和矩陣。
2.本周的內容,你還不會什嗎?

pta中的第9題切分運算式和第8題判斷合法標識符還寫不出來。

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.