一百萬內的任意數字用英語正確讀出
阿新 • • 發佈:2018-11-20
題目分析
英文讀數時要讀出百位和十位和個位
分別用函式GetSinData(int data)
GethundredData(int data)
GetThousData(int data)
還要獲取級數就是獲取thousand以來讀取更大的數字
GetSinData(int data) 函式如下
void GetSinData(int data)//讀出個位數 { switch (data) { case 1:printf("one "); break; case 2:printf("two "); break; case 3:printf("there "); break; case 4:printf("four "); break; case 5:printf("five "); break; case 6:printf("six "); break; case 7:printf("seven "); break; case 8:printf("eight "); break; case 9:printf("night "); break; } }
GetHundredData(int data)函式如下
void GetHundredData(int data)//讀取百位內的數字 { int data1; data1 = data / 100; GetSinData(data1);//讀出百位 if (data1 != 0) { printf("hundred "); } int data2,data3,data4; data2 = data %100; switch (data2) { case 1:printf("one "); break; case 2:printf("two "); break; case 3:printf("there "); break; case 4:printf("four "); break; case 5:printf("five "); break; case 6:printf("six "); break; case 7:printf("seven "); break; case 8:printf("eight "); break; case 9:printf("night "); break; case 10:printf("ten "); break; case 11:printf("eleven "); break; case 12:printf("twelve "); break; case 13:printf("thirteen "); break; case 14:printf("forteen "); break; case 15:printf("fifteen "); break; case 16:printf("sixteen "); break; case 17:printf("seventeen "); break; case 18:printf("eightteen "); break; case 19:printf("nineteen "); break; case 20:printf("twenty "); break; } data3 = data2 / 10;//存十位 data4 = data2 % 10;//存末位 switch (data3)//打出十位 { case 2:printf("twety "); break; case 3:printf("thirty "); break; case 4:printf("forty "); break; case 5:printf("fifty "); break; case 6:printf("sixty "); break; case 7:printf("seventy "); break; case 8:printf("eighty "); break; case 9:printf("nighty "); break; } GetSinData(data4); }
GetThousData(int data)函式如下
void GetThousData(int data)
{
if (data / 1000 > 0)
{
data = data / 1000;
GetHundredData(data);
printf("thousand and ");
}
}
主函式如下
#include <stdio.h> int main() { int data,data1; printf("請輸入要讀取的數字:"); scanf("%d", &data); //讀千位以上的讀法和讀千位以下的讀法相同 data1 = data % 1000; GetThousData(data); GetHundredData(data1); return 0; }
執行結果如下
今天這個程式有點簡單 不過分析起來就不是那麼回事了,往往我們習以為常的做法往往難以找出規律,所以保有各個好奇且鑽研的心。