我的程序总报RE,但在我的机子上运行没问题啊!
#include <stdio.h>
#include <string.h>
#define Num(a) (int)(a)-48
void ZS(int);
void ZW(int);
int main(void)
{
char a[10];
int n,i;
do
{
i=0;
do
{
a[i]=getchar();
i++;
}
while (a[i-1]!='\n' && a[i-1]!=EOF);
if (a[i-1]==EOF)
{
break;
};
a[i-1]='\0';
n=strlen(a);
for (i=0;i<=n-1;i++)
{
if (Num(a[i])!=0 || (Num(a[i+1])!=0 && a[i+1]!='\0'))
ZS(Num(a[i]));
if (Num(a[i])!=0 || n-i==5)
ZW(n-i);
};
printf("\n");
}
while (1);
return 0;
}
void ZS(int x)
{
switch (x)
{
case 1:printf("壹");break;
case 2:printf("贰");break;
case 3:printf("参");break;
case 4:printf("肆");break;
case 5:printf("伍");break;
case 6:printf("陆");break;
case 7:printf("柒");break;
case 8:printf("捌");break;
case 9:printf("玖");break;
case 0:printf("零");break;
};
}
void ZW(int x)
{
switch (x)
{
case 2:printf("拾");break;
case 3:printf("佰");break;
case 4:printf("仟");break;
case 5:printf("万");break;
case 6:printf("拾");break;
case 7:printf("佰");break;
case 8:printf("仟");break;
};
}