黑马程序员技术交流社区
标题:
金额转换,阿拉伯数字转换成中国传统形式。(求改进)
[打印本页]
作者:
helloJohn
时间:
2016-5-12 18:29
标题:
金额转换,阿拉伯数字转换成中国传统形式。(求改进)
本帖最后由 helloJohn 于 2016-5-12 19:23 编辑
金额转换,阿拉伯数字转换成中国传统形式。例如:101000001010 转换为 壹仟零壹拾亿零壹仟零壹拾圆整
char a[15]={0} ;
printf("请您输入金额") ;
fgets(a, 15, stdin) ;
test21(a) ;
void test21(char *a){
typedef struct{
int _key ;
char *_value[3] ;
} ss ;
unsigned long x=strlen(a)-1 ;
ss qian[15] ={0,{"0","0"}};
for (int n=0; n<x; n++) {
qian[n]._key=a[n]-'0' ;
}
for (int n=0; n<x; n++) {
switch (qian[n]._key) {
case 0:
if((x-n)%4!=1&&qian[n+1]._key!=0){qian[n]._value[0]="零" ;}
else if ((x-n)%4==1&&qian[n+1]._key!=0){ qian[n]._value[2]="零" ;}
break;
case 1:qian[n]._value[0]="壹" ;break;
case 2:qian[n]._value[0]="贰" ;break;
case 3:qian[n]._value[0]="叁" ;break;
case 4:qian[n]._value[0]="肆" ;break;
case 5:qian[n]._value[0]="伍" ; break;
case 6:qian[n]._value[0]="陆" ;break;
case 7:qian[n]._value[0]="柒" ;break;
case 8:qian[n]._value[0]="捌" ;break;
case 9:qian[n]._value[0]="玖" ;break;
default: break;
}
switch ((x-n)%4) {
case 1:
if((x-n)/4==1){
qian[n]._value[1]="万" ;
}
if((x-n)/4==2){
qian[n]._value[1]="亿" ;
}
break;
case 2:if(qian[n]._key!=0)qian[n]._value[1]= "拾" ; break;
case 3:if(qian[n]._key!=0)qian[n]._value[1]="佰" ; break;
case 0:if(qian[n]._key!=0)qian[n]._value[1]= "仟" ; break;
default:
break;
}
}
for (int n=0; n<x; n++) {
if(qian[n]._value[0]==NULL){
}else{printf("%s",qian[n]._value[0]) ;}
if(qian[n]._value[1]==NULL){
}else{printf("%s",qian[n]._value[1]) ;}
if(qian[n]._value[2]==NULL){
}else{printf("%s",qian[n]._value[2]) ;}
}
printf("圆整") ;
}
作者:
helloJohn
时间:
2016-5-12 19:23
作者:
Dream丶boy
时间:
2016-5-12 21:04
竟让还用了switch语句...
作者:
helloJohn
时间:
2016-5-13 09:48
Dream丶boy 发表于 2016-5-12 21:04
竟让还用了switch语句...
哈哈,写这个恶心死我了。
一直报错警告,写完一闭眼就是红的黄的条条。
作者:
helloJohn
时间:
2016-5-13 09:51
大家都来写写笔试面试题吧,感觉自己写代码有很大提高,另外还帮助记忆细碎知识。
作者:
SuperJJ
时间:
2016-5-13 12:16
看不懂的说{:2_31:}
作者:
zxc54321
时间:
2016-5-13 12:19
表示就像天书
作者:
helloJohn
时间:
2016-5-13 20:54
写的太乱了,各位论坛的大神们帮帮忙发个改简便的方法。
或者直接上个新的好学习一下啊。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2