7-1 幣值轉換(20 分)
輸入乙個整數(位數不超過9位)代表乙個人民幣值(單位為元),請轉換成財務要求的大寫中文格式。如23108元,轉換後變成「貳萬叄仟壹百零捌」元。為了簡化輸出,用小寫英文本母a-j順序代表大寫數字0-9,用s、b、q、w、y分別代表拾、百、仟、萬、億。於是23108元應被轉換輸出為「cwdqbbai」元。
1) 實驗**:
#include
#include
int main()
int a[i];
chu_1=yuan;
for(a=0;chu_1!=0;i--,a++)
a[a]=chu_2; //記錄數字
if(chu_2==0)
if(chu_2!=0) //不為零的情況可以直接按規律輸出
printf("%c",op);
if(i==5&&chu_2!=0) //當數字大於萬位時是特殊情況,需要調整大寫字母的輸出
printf("s");
if(i==6&&chu_2!=0)
printf("b");
if(i==7&&chu_2!=0)
printf("q");
if(i==8&&chu_2!=0)
printf("y");
if(i-1>=0&&chu_2!=0&&i-1<=4) //數字小於或等於萬位時為通常情況,直接按規律輸出
switch(i)
}if(yuan==0) //若幣值為零,則直接輸出字母a後結束程式
printf("a");
return 0;
}2) 設計思路:
第一步:**分為輸出代表數字的小寫字母部分和代表數字的大寫字母部分。
第二步:小寫字母部分又分為數字為零的特殊情況和非零的通常情況,大寫字母部分又分為數字大於萬位的特殊情況和小於等於萬位的通常情況。
第三步通常情況都為直接輸出對應的字母,特殊情況按情況討論。以下為流程圖。
3)除錯過程中遇到的問題
關於取出的數字為零時如何調整輸出方式:
當取出零時需要先判斷這個零是否需要輸出,我們知道,當前一位也為零時,口語上需要將這個零省略。因此我們只需要判斷前一位是什麼數字就可以確定是否輸出這個零。我們可以用陣列a記錄下之前取出的所有數字,然後根據迴圈數給每個取出的數字編號,若想知道前一位數是什麼,只需要取出陣列a中的第i-1個數字即可。
4)解決方法:
在編譯器上面進行編譯執行,發現編譯錯誤的地方,其次用除錯的方法去尋找答案錯誤的地方,還要就是去詢問同學,上網查詢。
5)錯誤截圖:
寒假程式設計總結1
7 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好組成乙個沙漏。...
寒假程式設計總結一
程式設計總結 7 1 列印沙漏 20 分 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個 要求按下列格式列印 所謂 沙漏形狀 是指每行輸出奇數個符號 各行符號中心對齊 相鄰兩行符號數差2 符號數先從大到小順序遞減到1,再從小到大順序遞增 首尾符號數相等。給定任意n個符號,不一定能正好...
周總結 大二寒假
本來以為今年寒假可以留校學習,但是還是想多了,因為疫情,我們不得不回家。話說我們這一屆的真的可憐,沒留過校學習就不說了,並且大一下學期,還在家頹廢了半年多。感覺少學了很多知識,o 這一周,學長給我們安排了乙個新的專案讓我們寫,是乙個考試系統,而且還能給老師分配任務進行出卷。好像比上個專案更加複雜一點...