用vc++6.0编写c++程序 输入一个五位数,要求输出其相应的汉字形式

例如:输入“12345”,输出“一万二千三百四十五”
这个太简单了,弄个完整些的!谢谢了!
用c++语言做的 最好是没有漏洞的 谢谢了!!

第1个回答  2008-09-24
C++版,运行符合要求,毫无漏洞- -||
#include<iostream>
using namespace std;
int main()
{int a;
cout<<"请输入一个五位数"<<endl;
cin>>a;
while(a<10000||a>99999)
{cout<<"输入错误,请重新输入一个五位数!"<<endl;
cin>>a;}

int g=a/10000;//万位数
int b=a%10000/1000;// 千位数:
int c=a%1000/100; //百位数:
int e=a%100/10;//十位数:
int f=a%10; //个位数:

char* A[]={"零","一","二","三","四","五","六","七","八","九"};
char* B[]={"万","千","百","十"};
cout<<A[g]<<B[0]<<A[b]<<B[1]<<A[c]<<B[2]
<<A[e]<<B[3]<<A[f]<<endl;
return 0;
}
第2个回答  2008-09-24
#include<stdio.h>
void main()
{
int i,num,a[5];
printf("请输入一个合法的五位数字!\n");
scanf("%d",&num);
a[0]=num/10000;//万位
a[1]=num/1000%10;//千位
a[2]=num/100%10;//百万
a[3]=num/10%10;//十位
a[4]=num%10; //个位
for(i=0;i<5;i++)
{
switch a[i]
{
case 0:
printf("零");break;
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;
}
switch i
{
case 0:
printf("万");break;
case 1:
printf("千");break;
case 2:
printf("百");break;
case 3:
printf("十");break;
}
}
printf("\n");
}
时间紧了,晚了没分。漏洞还是有的,比如,100002
我们读一万零二,但是执行后是一万零千零百零十二
你自己修改一下,加几个约束条件,简单的啦,给分哦
第3个回答  2008-09-24
CString Trans(CString strIn)
{
CString strOut;
for(int i=0; i<strIn.GetLength(); i++)
{
int t = atoi(strIn.Mid(i,1));
switch(t)
{
case 1:
strOut += "一";
break;
case 2:
strOut += "二";
break;
.....
}
}
return strOut;
}本回答被提问者采纳
第4个回答  2008-09-24
太简单了

char * num = "零一二三四五六七八九";
char * num2 = "万千百十";

.............

即可
第5个回答  2008-09-24
学习学习
相似回答