300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 可怜小凡(模拟)

可怜小凡(模拟)

时间:2018-08-16 01:30:32

相关推荐

可怜小凡(模拟)

描述

小凡的老师给了小凡一个任务就是做一个中文的计算器。比如说输入“十加十”,那么小凡就要得到 20 这个值,但是小凡太笨怎么都搞不定,所以老师给他降低了要求,让他只要把阿拉伯数字转换成中文就行了,还说如果他连这个都不会就不给他及格了。小凡都快哭了,好心的你帮帮他吧。

输入

有多组测试数据,请用while(…)读入数据,直到EOF。

每组数据为一串数字,如:2358、2989、51(不超过9999)。

输出

每个输入对应一个输出。对应上面的输出分别为二千三百五十八、两千九百八十九、五十一。

输入样例 1

36

211

2126

10

20

101

输出样例 1

三十六

二百一十一

二千一百二十六

二十

一百零一

#include<stdio.h>int change(int n){char c[11][20] = {"零","一","二","三","四","五","六","七","八","九"};int i=0,j,k,p,m,count=0;int a[10000];if(n==0) printf("零"); if(n==10) printf("十");m = n;while(n>0 && m!=10){a[i] = n%10;if(a[i]==0){count++;}i++;n /= 10;}for(j=i-1;j>=0;j--){p=j-1;printf("%s",c[a[j]]);if(j==1){printf("十");if(a[p]==0){break;} }else if(j==2){printf("百"); if(count==2){break;}else if(count==1 && a[j-1]==0){printf("零%s",c[a[j-2]]);break;}}else if(j==3){printf("千");if(count==3){break;}else if(count==2 && a[j-3]!=0){printf("零%s",c[a[j-3]]);break;}else if(count==2 && a[j-2]!=0){printf("零%s十",c[a[j-2]]);break;}else if(count==1 && a[j-1]==0){printf("零%s十%s",c[a[j-2]],c[a[j-3]]);break;}}}printf("\n");}int main(){int n;while(scanf("%d",&n)!=EOF){change(n);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。