#include <stdio.h>
#include <string.h>
char* unit(int);
int main(int argc, const char * argv[])
{
long long num;
int nums[15];
char upper[10][4]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
int count=0;
int i=0;
char re[200];
printf("请输入小写的数字:");
scanf("%lld",&num);
while(num!=0)
{
nums[i]=num%10;
num /=10;
i++;
count++;
}
if (count>15)
{
printf("输入的数字过大,无法处理.\n");
return 0;
}
printf("\n");
for (i=0;i<count;i++)
{
printf("nums[%d]的值为:%d,对应的大写字母为:%s\n",i,nums[i],upper[nums[i]]);
}
printf("\n\n");
for (i=count-1;i>=0;i--)
{
strcat(re,upper[nums[i]]);
strcat(re,unit(i));
}
printf("得到的值为:%s\n",re);
return 0;
}
char* unit(int count)
{
switch (count)
{
case 0:
return "";
case 1:
return "拾";
case 2:
return "佰";
case 3:
return "仟";
case 4:
return "万";
case 5:
return "拾";
case 6:
return "佰";
case 7:
return "仟";
case 8:
return "亿";
case 9:
return "拾";
case 10:
return "佰";
case 11:
return "仟";
case 12:
return "兆";
case 13:
return "拾";
case 14:
return "佰";
case 15:
return "仟";
}
return 0;
}