例如:输入8002,输出应该为八千零二元
呵呵,以前写过了一下~~~
现在重新发给你,不过代码里有点小问题的~~
你自己去补一下好了
#include<iostream>
using namespace std;
void main()
{
char s[10]; //设置数组,最大长度为10;
cout<<"输入数字:\t";
cin>>s;
int i=0,l=0; //设置两个记数器;
while(s[i]=='0') //防止地第一位元素为0;
{
i++;
}
for(int n=i;s[n]!='\0';) //变量L是为了记录该数字的位数;
{
l++;
n++;
}
for(;s[i]!='\0';i++) //整数部分
{
switch(s[i]) //对数字进行分类操作
{
case'1':cout<<"一";break;
case'2':cout<<"二";break;
case'3':cout<<"三";break;
case'4':cout<<"四";break;
case'5':cout<<"五";break;
case'6':cout<<"六";break;
case'7':cout<<"七";break;
case'8':cout<<"八";break;
case'9':cout<<"九";break;
case'0':
{
if(s[i+1]=='.') break;
else if(s[i-1]!='0') {cout<<"零";break;}
}
}
if(s[i]!='0') //0的话不需要读出位数
{
switch(l) //对位数进行分类操作
{
case 9 :cout<<"亿";break;
case 8 :cout<<"千万";break;
case 7 :cout<<"百万";break;
case 6 :cout<<"十万";break;
case 5 :cout<<"万";break;
case 4 :cout<<"千";break;
case 3 :cout<<"百";break;
case 2 :cout<<"十";break;
default:break;
}
}
l--;
}
cout<<"元"; //最后输出单位“元”;
cout<<"整";
cout<<endl;
}
[此贴子已经被作者于2007-5-23 22:45:01编辑过]
改好了#include<iostream>
using namespace std;
void main()
{
char s[10]; //设置数组,最大长度为10;
cout<<"输入数字:\t";
cin>>s;
int i=0,l=0; //设置两个记数器;
int cheat=0;
while(s[i]=='0') //防止地第一位元素为0;
{
i++;
}
for(int n=i;s[n]!='\0';) //变量L是为了记录该数字的位数;
{
l++;
n++;
}
for(;s[i]!='\0';i++) //整数部分
{
switch(s[i]) //对数字进行分类操作
{
case'1':cout<<"一";break;
case'2':cout<<"二";break;
case'3':cout<<"三";break;
case'4':cout<<"四";break;
case'5':cout<<"五";break;
case'6':cout<<"六";break;
case'7':cout<<"七";break;
case'8':cout<<"八";break;
case'9':cout<<"九";break;
case'0':
{
if(s[i+1]=='\0') break;
else if(s[i+1]!='0'&&l!=5) {cout<<"零";break;}
}
}
//0的话不需要读出位数
switch(l) //对位数进行分类操作
{
case 9 :if(s[i]!='0') cout<<"亿";break;
case 8 :if(s[i]!='0') cout<<"千";cheat=1;break;
case 7 :if(s[i]!='0') cout<<"百";cheat=1;break;
case 6 :if(s[i]!='0') cout<<"十";cheat=1;break;
case 5 :if(s[i]!='0'||cheat==1) cout<<"万";break;
case 4 :if(s[i]!='0') cout<<"千";break;
case 3 :if(s[i]!='0') cout<<"百";break;
case 2 :if(s[i]!='0') cout<<"十";break;
default:break;
}
l--;
}
cout<<"元"; //最后输出单位“元”;cout<<"整";
cout<<endl;
}
~~~