C語言資料類型作業

來源:互聯網
上載者:User

標籤:表達   ror   思路   一個   列印   image   tps   長度   c語言   

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

2. 設計思路
  • 1、定義m,n(用於計算空格數,輸出“* ”數),i,j,k(用於迴圈)
  • 2、輸入n,並讓m=n(m是在迴圈中用來改變輸出的空格數)
  • 3、for(i=1;i<=n/2+1;i++) 進行前半部分迴圈,輸出菱形上半部分
  • 4、for(j=1;j<=m-1;j++) 輸出空格數
  • 5、for(k=1;k<=2i-1;k++) 輸出
  • 6、每一行結束,換行並且m自減2
  • 7、 for(i=n/2;i>0;i--) 菱形下半部分的迴圈
  • 8、m自增2(菱形對稱)
  • 9、 for(j=1;j<=m+1;j++) 輸出空格數,注意這裡是m+1
  • 10、for(k=1;k<=2i-1;k++) 輸出
  • 11、每一行結束,換行

    3.代碼

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

  • 1、剛開始我的想法是上半部分結束後先讓m自增2(因為下一行有空格,用原來的m輸出的話下一行會沒有空格),其他的除了迴圈行數和m變成自增外基本和上半部分一樣,但是這樣我的輸出下半部分還是沒有空格
  • 2、我仔細看了一下代碼,發現第二步迴圈不應該是m-1,而是m+1

    題目2:7-7 發紅包1. 本題PTA提交列表

2. 設計思路
  • 1、定義紅包金額money,並輸入紅包金額大小
  • 2、定義y100,y50,y20,y10,y5,y2,y1分別為100元張數,50元張數,20元張數,10元張數,5元張數,2元張數,1元張數
  • 3、按題目要求從大到小,將金額從100開始除,計算錢的張數
  • 4、按題目要求輸出所有錢幣的張數

    3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 1、一開始我的想法是用迴圈解決這個問題,但是要麼陷入死迴圈,要麼答案是錯的
  • 2、後來我看了幾次題目,注意到題目從大到小的要求,發現只需從大到小的將金額與錢幣相除,就能得到相應的輸出要求了
  • 3、還有,輸出格式有一定要求,空格要注意好,我已開始用的是%-3d,是錯的,要用%3d才對

    題目3:7-10 簡單計算機1. 本題PTA提交列表

2. 設計思路
  • 1、定義字元op,result(計算每一個步驟結果),number1(存放最終結果),number2(除第一個數以外的所有數由它輸入)
  • 2、先輸入第一個數和字元
  • 3、while(op!=‘=‘) 輸入下一個數
  • 4、如果是除號後面為零的情況,輸出error
  • 5、如果不是上面的情況,那麼對op判斷,是+號進行加法運算,是-號進行減法運算,是*號進行乘法運算,是/號進行除法運算,都不是即為非法字元,輸出error(其中result存放每一步結果)
  • 6、number1=result,number1是最終結果,要輸出的
  • 7、再輸入下一個字元
  • 8、迴圈結束,輸出結果number1

    3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。
  • 1、一開始忘了判斷除號後為零的情況了= =
  • 2、剛開始我只用result來計算結果,number1隻是用來存放第一個數,但是這樣做只是部分正確,範例的輸出是錯的

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

三、本周學習總結1.你學會了什嗎?1.1 一維數組如何定義、初始化?
  • 定義一維數組要明確好陣列變數名,類型和大小。要注意數組長度應該是一個常量。

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

從起始地址開始依次累加相應位元組數

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

    1.3 為什麼用數組?
  • 數組有表達簡潔,可讀性好,便於適應迴圈結構的優點。在需要表達同一類型的大量變數時,用數組更加方便清楚。

    1.4 介紹選擇法、冒泡法、直接插入排序如何排序?虛擬碼展示.
  • 1、選擇法:
  • 從第一個數開始for(k=0;k<n-1;k++)
  • 將一個數依次與其他數比較for(i=k+1;i<n;i++)
  • 比較完後把最小的和第一個數交換if(a[i]<a[index])
  • 然後接著下一個數,與後面的數比較,如此迴圈直到最後一個數
  • 2、冒泡法:
  • for(k=0;k<n-1;k++) max=k
  • for(i=0;i<n-1-i;i++) 第一個數與後面的數依次比較
  • if(a[i]>a[max])交換兩個數,將大的值存放在a[max]中
  • 3、直接插入排序
  • for(k=1;k<n-1;k++) j=k
  • for(i=k;i>0;i--) i必須從k開始
  • if(a[j]<a[i-1]) 交換兩者的值

    1.5 介紹什麼是二分尋找法?它和順序尋找法區別?
  • 1、二分尋找法是將要找的數與該數組中間的數比較,以此不斷縮小邊界直到找到要找的數的位置
  • 2、二分尋找法用於有序數組,其優點是尋找速度快,而順序尋找法速度慢,但是當數組無序時,無法應用二分尋找法

    1.6 二維數組如何定義、初始化?
  • 1、二維數組包括數群組類型,數組名,數組行列長度
  • 2、分行賦初值,順序賦初值

    1.7 矩陣轉置怎麼實現?方陣中:下三角、上三角、對稱矩陣的行標i列標j的關係?請說明。
  • 1、以主對角線為界,行列互換
    -2、下三角:i>=j,上三角:i<=j,對稱矩陣:i==j

    1.8 二維數組一般應用在哪裡?
  • 主要應用於表示二維表和矩陣

    2.本周的內容,你還不會什嗎?
  • 1、對題目理解力不夠,容易犯一些小錯誤
  • 2、對於數組的應用,感覺不是很理解,使用不熟練
  • 3、對於資料排序,不是很明白,瞭解不夠透徹

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.