编写程序,从终端读取一个数字,然后使用英语一位一位显示应该数字:
例如932
nine three two
申明一下:老师只讲了一些判断语句,循环语句,和一些变量的自定义.
后面的什么数组呀之类的都没有讲到
哪位高手能够帮帮忙用C语言写出来
或者告诉我用什么方法???
希望各位大虾帮帮忙!!!
新人,无责任帮忙。
#include<stdio.h>
int main(void)
{
int gw,sw,bw;
int num;
printf("\ninput the number you want to translate");
scanf("%d",&num);
//以下分别计算出百位,十位,个位,如需要其它位,请自行扩展。
bw=num/100;
sw=(num/10)%10;
gw=(num%10);
if (bw==0)
;
else if (bw==1)
printf("one");
else if (bw==2)
printf("two");
else if (bw==3)
printf("three");
else if (bw==4)
printf("four");
else if (bw==5)
printf("five");
else if (bw==6)
printf("six");
else if (bw==7)
printf("seven");
else if (bw==8)
printf("eight");
else
printf("nine");
if (sw==0)
;
else if (sw==1)
printf("one");
else if (sw==2)
printf("two");
else if (sw==3)
printf("three");
else if (sw==4)
printf("four");
else if (sw==5)
printf("five");
else if (sw==6)
printf("six");
else if (sw==7)
printf("seven");
else if (sw==8)
printf("eight");
else
printf("nine");
if (gw==0)
;
else if (gw==1)
printf("one");
else if (gw==2)
printf("two");
else if (gw==3)
printf("three");
else if (gw==4)
printf("four");
else if (gw==5)
printf("five");
else if (gw==6)
printf("six");
else if (gw==7)
printf("seven");
else if (gw==8)
printf("eight");
else
printf("nine");
return 0;
}
已在TC下面试了,可以完成此功能,就是太繁了好像,期待更好的答案。
这个我也想过..但问题是.你不知道它到底要输入的是多少位的数呀.你编的这上面已经先确定了它的位数..那如果位数很长呢.那不是很烦吗?
有没有更好的办法呢?
还是很谢谢你
编了一半,不用数组实在太麻烦,你看看吧
#include<stdio.h>
#include<stdlib.h>
main()
{
/*还未实现,最好用数组*/
int i,j,m;
printf(“please input stata");
scanf("%d",&m);
for(i=0;i<5)
n=m%100
/*选择部分*/
switch(n)
{case1:printf("one\n");
case2:printf("two\n");
case3:printf("three\n");
case4:printf("four\n");
case5:printf("five\n");
case6:printf("six\n");
case7:printf("seven\n");
case8:printf("eight\n");
case9:printf("nine\n");
case0:printf("zero\n");
}
^^^^^^^^
选择部分我也想到了..就是之前的.有什么办法可以把每个位数上的数字分开算出,
可以讲的清楚一点吗?