標籤:表達 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提交列表情況說明。
2. 設計思路
- 1、定義紅包金額money,並輸入紅包金額大小
- 2、定義y100,y50,y20,y10,y5,y2,y1分別為100元張數,50元張數,20元張數,10元張數,5元張數,2元張數,1元張數
- 3、按題目要求從大到小,將金額從100開始除,計算錢的張數
4、按題目要求輸出所有錢幣的張數
3.代碼
4.本題調試過程碰到問題及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.你學會了什嗎?1.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語言資料類型作業