受困于输入样例的范围实在太大,long long int 也不够
上来查了一圈那些写法好专业我看不懂,不过受到启发不是非得用数字定义改成字符就好
以下是菜鸡的笨蛋写法
#include<stdio.h> #include<string.h> int main() { int i=0,sum=0,a[10000]; char b[200]; gets(b); for(i=0;i<strlen(b);i++) sum=sum+(b[i]-'0'); for(i=0;sum!=0;i++) { a[i]=sum%10; sum/=10; } for(i--;i>=0;i--) { switch(a[i]) { case 1:printf("yi");break; case 2:printf("er");break; case 3:printf("san");break; case 4:printf("si");break; case 5:printf("wu");break; case 6:printf("liu");break; case 7:printf("qi");break; case 8:printf("ba");break; case 9:printf("jiu");break; case 0:printf("ling");break; } if(i>0) printf(" ");} }