问题 : 悲催的码农

论坛 期权论坛 脚本     
匿名技术用户   2020-12-21 13:33   11   0
时间限制: 1 Sec 内存限制: 128 MB
提交: 20 解决: 6
[提交][状态]

题目描述

小A在学校不好好学习,天天忙着玩。四年很快过去,好不容易找了份工作,其实就是码代码的底层码农。看着到手的工资,小A很是失望。一方面后悔过去,另一方面羞于启齿。我们要做的一是引以为戒,二是大声地替小A把工资读出来,不过注意不要带口音噢!
应该用标准的汉语,即“零”“壹”“贰”“叁”“肆”“伍”“陆”“柒”“捌”“玖”“拾”“佰”“仟”来读。
编程时请这样定义:
char s1[10][4]={“零”,“壹”,“贰”,“叁”,“肆”,“伍”,“陆”,“柒”,“捌”,“玖”}
char s2[3][4]={“拾”,“佰”,“仟”}

输入

一个整数n(0<n<5000)

输出

这个数字的中文读法

样例输入

1111
1001

样例输出

壹仟壹佰壹拾壹
壹仟零壹


错误代码:

#include<stdio.h>
#include<string.h>
char s1[10][4]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
char s2[3][4]={"拾","佰","仟"};
int main()
{
char a[10];
while(gets(a)!=NULL)
{
int len;
len=strlen(a);
int i,j;
int n;
if(len==1)
{
n=a[0]-'0';
for(i=0;i<4;i++)
printf("%c",s1[n][i]);
}
else if(len==2&&a[0]=='1')
{
for(i=0;i<4;i++)
printf("%c",s2[0][i]);
n=a[1]-'0';
if(a[1]!='0')
for(i=0;i<4;i++)
printf("%c",s1[n][i]);
}
else
for(i=0;i<len;i++)
{
n=a[i]-'0';
// printf("%d ",n);
if(a[i]=='0'&&a[i+1]=='0'||a[i]=='0'&&i==len-1)
continue;
else
{
for(j=0;j<4;j++)
printf("%c",s1[n][j]);
if(n!=0&&i!=len-1)
for(j=0;j<4;j++)
printf("%c",s2[len-i-2][j]);
}

}
printf("\n");
}
return 0;

}


提交了好几次都错误了,求大神指教!!!


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP