题目分析
英文读数时要读出百位和十位和个位
分别用函数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;
}
执行结果如下
今天这个程序有点简单 不过分析起来就不是那么回事了,往往我们习以为常的做法往往难以找出规律,所以保有各个好奇且钻研的心。