输入1000以内的数字然后写出大写

来源:百度知道 编辑:UC知道 时间:2024/09/22 07:25:57
如输入906,输出"玖百零陆".用C++写出算法.
解决,再送50分

/*按照你要求写了一个,编译运行都没有问题
其实还可以写成int范围的,要的话,可以联系我
*/
#include<stdio.h>

void main()
{
char a[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; // 0-9
//char b[2][3]={"拾","佰"};
char b[2][3]={"拾","百"}; //按你要求写的,也可用上句

int num;
printf("请输入数字:");
scanf("%d",&num);
int n[3];
int temp=num;
for(int i=0;i<3;i++)
{
n[i]=temp%10;
temp=temp/10;
}
if(n[2]!=0)
{
printf("%s%s",a[n[2]],b[1]);
}
if(n[1]!=0)
{
printf("%s%s",a[n[1]],b[0]);
}
if(n[0]!=0)
{
if(n[1]==0)
printf("%s",a[0]);
printf("%s",a[n[0]]);
}
printf("\n");
}

以下代码已经编译运行通过: