c语言编程输入一串数字,输出英文表达式。

我这里有一个类似的程序。楼主的方案有点大,仅供参考。当然,如果你没有时间和麻烦,可以用swich的case语句来写,而且我觉得判断数字的方法有很多。在这里,我们可以用“三位为一组”来划分整数部分!

比如678是第一组,思想在前。

345是第二组,前面是百万。

十亿美元。

对于每组中的三个数字,分别有100位数和10位数

而且小数点后面可以直接连对应的数,不用分位数!

以下是类似的过程:

# include & ltstdio.h & gt

void main()

{

char *Eng1[20]={ "零","一","二","三","四","五","六","七",

“八”、“九”、“十”、“十一”、“十二”、“十三”、“十四”、“十五”,

“十六”、“十七”、“十八”、“十九”};

char *Eng2[8]={ "二十"、"三十"、"四十"、"五十"、"六十"、"七十"、"八十"、"九十" };

int num

Printf("请输入一个数字:");

scanf("%d ",& ampnum);

Printf("对应英文:");

if(num & gt;= 0 & amp& ampnum & lt=19)

printf("%s\n ",eng 1[num]);

else if(num & lt;100)

{

int s,y;

s = num/10;

y = num % 10;

printf("%s %s\n ",Eng2[s-2],eng 1[y]);

}

else if(num & lt;1000)

{

int b,s,y;

b = num/100;

y = num % 100;

如果(y & gt9)

{

s =(num % 100)/10;

y =(num % 100)% 10;

如果(y==0)

printf("%s百和%s\n ",Eng1[b],eng 2[s-2]);

其他

printf("%s百和%s %s\n ",Eng1[b],Eng2[s-2],eng 1[y]);

}

其他

printf("%s百和%s\n ",Eng1[b],eng 1[y]);

}

}