题目是这样的:
编写程序,从终端读取一个数字,然后使用英语一位一位显示应该数字:
例如932
nine three two
申明一下:老师只讲了一些判断语句,循环语句,和一些变量的自定义.
后面的什么数组呀之类的都没有讲到
这是我昨天发的贴,我是一个新手.才学了几天,因为后面的都没讲到,以下是我自己的编的:
#include "stdio.h"
int main(void)
{
int a,b,c,weis,g;
printf ("please input the number:");
scanf ("%d",&a);
weis=1;
c=a;
if (a==0) goto panduan;
b=a/10;
/* 以下weis代表算出的位数 c算出输入数字中头一个数字*/
again:;
{
if (b!=0)
{
weis=weis+1;
c=b;
b=b/10;
goto again;
}
}
panduan:switch (c)
{
case 0:printf ("zero ");break;
case 1:printf ("one ");break;
case 2:printf ("tow ");break;
case 3:printf ("three ");break;
case 4:printf ("fore ");break;
case 5:printf ("five ");break;
case 6:printf ("six ");break;
case 7:printf ("seven ");break;
case 8:printf ("eitht ");break;
case 9:printf ("nine ");break;
}
if (weis==1) goto end;
/* 以下算出除了头一位以外的数字*/
for (g=1;g<weis;g++)
c=c*10;
a=a-c;
b=a;
weis=0;
goto again;
end:;
}
根据测试可以实现,因为是新手,后面的也都没讲到,所以编的也许太烦了一点,但现在有一个问题,我输入9876以后.可以正常输出英文,但我输入98765的时候屏幕什么都没有输出,不知道哪里出了问题.有哪位高手可以指教一下.
[此贴子已经被作者于2007-6-2 20:04:57编辑过]