展开全部
思路: 分解每位的数,带上权重
#include
#include
#include "string.h"
void convert_num(int n,char* buf)
{
switch(n)
{
e5a48de588b63231313335323631343130323136353331333337623534case 0:
sprintf(buf,"%s","零");
break;
case 1:
sprintf(buf,"%s","一");
break;
case 2:
sprintf(buf,"%s","二");
break;
case 3:
sprintf(buf,"%s","三");
break;
case 4:
sprintf(buf,"%s","四");
break;
case 5:
sprintf(buf,"%s","五");
break;
case 6:
sprintf(buf,"%s","六");
break;
case 7:
sprintf(buf,"%s","七");
break;
case 8:
sprintf(buf,"%s","八");
break;
case 9:
sprintf(buf,"%s","九");
break;
}
}
void convert(int n,int power,char* buf)
{
char temp[5]={"\0"};
convert_num(n,temp);
switch(power)
{
case 0:
sprintf(buf,"%s",temp);
break;
case 1:
sprintf(buf,"%s十",temp);
break;
case 2:
sprintf(buf,"%s百",temp);
break;
case 3:
sprintf(buf,"%s千",temp);
break;
case 4:
sprintf(buf,"%s万",temp);
break;
case 5:
sprintf(buf,"%s十",temp);
break;
case 6:
sprintf(buf,"%s百",temp);
break;
case 7:
sprintf(buf,"%s千",temp);
break;
}
}
int main(int argc, char *argv[]) {
char c[10]={"\0"};
char v[50]={"\0"};
scanf("%s",c);
int len=strlen(c);
int i,power;
for(i=0;i
{
char buf[10]={"\0"};
convert(c[i]-'0',len-i-1,buf);
strcat(v,buf);
}
printf("\n\n%s",v);
return 0;
}