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

來源:互聯網
上載者:User

標籤:sum   最大   演算法   ges   img   log   排序   結構   插入排序   

一、PTA實驗作業題目1:倒順數字串1. 本題PTA提交列表

2. 設計思路
  • 定義變數n,i,j
  • 輸入n
  • i的值 for 1 to n,輸出i,如果i<n,再輸出空格,i自增
  • j的值for n-1 to 1,輸出空格,再輸出j,j自減
  • 返回0
3.代碼

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


發現輸出了兩個6

因為j的初值取到n,所以還會重複輸出一個6

題目2: 列印菱形圖案1. 本題PTA提交列表

2. 設計思路
  • 定義變數。。。。
  • 輸入一個值存入n
  • 第一個迴圈列印1~(n+1)/2行的圖案
  • a=n+1-2i,b=2i-1
  • j的值for 1 to a 輸出空格
  • k的值for 1 to b 輸出*和空格
  • 換行 end
    -第二次迴圈列印(n+3)/2~n行圖案
  • c=2i-n-1,d=2(n-i)+1
  • l的值for 1 to c輸出空格
  • m的值for 1 to d輸出*和空格
  • 換行 end
3.代碼

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


運行發現跟PTA的圖案一模一樣,但是提交卻出現了格式錯誤,認真看下題目發現每個*後面都要空格,太慣性思維了
然後改了代碼還是有格式錯誤,輸入3發現

第二次迴圈的圖案列印出現問題
用3調試第二次的迴圈

發現c的值為負數。。。。。。 在草稿上把輸入的7當為特例寫代碼導致不具有普遍性,應該改正c的賦值

題目3:掉入陷阱的數字1. 本題PTA提交列表

2. 設計思路
  • 定義變數
  • 輸入一個數存入N
  • i的值for 1 to 某個數(當N=N1時退出迴圈)
  • 把N賦值給M和number
  • 只要number!=0,number=number/10,n自增,迴圈結束得出N的位元n
  • j的值for 1 to n, a=M%10, M=M/10,sum=sum+a,j自增 先得出sum的值
  • N1=sum*3+1,得出新的數N1
  • 輸出 i:N1
  • 如果N=N1直接退出迴圈,否則 把N1賦值給N,把sum賦值0,換行 end
3.代碼

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


第一次就進入死迴圈而且還沒有換行,而且把計算N的位元n的迴圈放在外面,所以n的值不變了,我修改

改正後格式正確但是從第二個數開始就不正確了

發現第一次迴圈後sum的值不是0,會繼續加上去,在大迴圈後面重新給sum‘賦值為0

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

三、本周學習總結1.1 一維數組如何定義、初始化
  • 1.定義一個數組需要明確數組的變數名,數組元素的類型和數組的大小,一般類型為 類型名 數組名[數組長度].

    1.2 一維數組在記憶體中結構?可畫圖說明。數組名表示什嗎?

  • 數組名是一個地址常量,存放數組記憶體空間的首地址

    1.3 為什麼用數組?
  • 在程式運行期間其值可以改變的量。其實理解得簡單一點,變數就是一塊小記憶體的名字,這塊記憶體的大小由這個變數的類型決定,同時也決定了這塊記憶體能存放資料的大小範圍

    1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.選擇法:
  • for 0 to n-1 控制外迴圈個數
  • 令k=i for i+1 to n 找下一個數到最後一個數中尋找最大值
  • 若後面有比最大值更大 則k=j
  • 否則用temp=a【k】,a【k】=a【i】,a【i】=temp 交換位置

    冒泡法
  • for 0 to n 控制循壞次數
  • for 0 to n-j 內迴圈個數
    -if 這個數大於下個數,則用temp=a【i】,a【i】=a【i+1】,a【i+1】=temp 進行交換位置

    插入法
  • i的值for 1 to n 控制外迴圈次數
  • j的值for i-1 to n
  • temp=a[i],a[j+1]=a[j],a[j+1]=temp 進行插入

    1.5 介紹什麼是二分尋找法?它和順序尋找法區別?
  • 假設資料是按升序排序的,對於給定值x,從序列的中間位置開始比較,如果當前位置值等於x,則尋找成功;若x小於當前位置值,則在數列的前半段中尋找; 若x大於當前位置值則在數列的後半段中繼續尋找,直到找到為止。
  • 相對於循序法效率更高

    1.6 二維數組如何定義、初始化?
  • 類型名 數組名 [行長度] [列長度] = {{初值表0},…,{初值表k}…}

    1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。
  • 下三角 i>=j;上三角i<=j;對稱矩陣i=j

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

    應用於某些有一定的位置邏輯的元素,如矩陣

    2.本周的內容,你還不會什嗎?
  • 多種的排序法掌握並不精,雖然演算法邏輯可以想出來,但是一旦用代碼敲出來又是另一番光景

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.