fork download
  1. #include<stdio.h>
  2. int main(){
  3. printf("请输入任意正负的最多四位数\n");
  4. char*num[]={"零","一","二","三","四","五","六","七","八","九"};
  5. int n,g,s,b,q,sign=1;
  6. while(1){
  7. scanf("%d",&n);
  8. if(n>9999||n<-9999){
  9. printf("超出范围请重新输入\n");
  10. }
  11. else{
  12. break;
  13. }
  14. }
  15. if(n<0){
  16. n=-1*n;sign=-1;
  17. }
  18. g=n%10;s=n/10%10;b=n/100%10;q=n/1000%10;
  19. if(sign==-1){
  20. printf("负");
  21. }
  22. if(q==0&&b==0&&s==0){//个位
  23. printf("%s",num[g]);
  24. return 0;
  25. }
  26. if(q==0&&b==0){//十位
  27. printf("%s十%s",num[s],num[g]);
  28. return 0;
  29. }
  30. if(q==0){//百位
  31. if(s==0&&g==0){
  32. printf("%s百",num[b]);
  33. return 0;
  34. }
  35. if(s==0){
  36. printf("%s百零%s",num[b],num[g]);
  37. return 0;
  38. }
  39. if(g==0){
  40. printf("%s百%s十",num[b],num[s]);
  41. return 0;
  42. }
  43. else{
  44. printf("%s百%s十%s",num[b],num[s],num[g]);
  45. return 0;
  46. }
  47. }
  48. else{//千位
  49. if(b==0&&s==0&&g==0){
  50. printf("%s千",num[q]);
  51. return 0;
  52. }
  53. if(b==0&&s==0){
  54. printf("%s千零%s",num[q],num[g]);
  55. return 0;
  56. }
  57.  
  58. if(b==0 && s!=0){
  59. printf("%s千零%s十%s", num[q], num[s], num[g]);
  60. return 0;
  61. }
  62.  
  63. if(s==0&&g==0){
  64. printf("%s千%s百",num[q],num[b]);
  65. return 0;
  66. }
  67. if(s==0){
  68. printf("%s千%s百零%s",num[q],num[b],num[g]);
  69. return 0;
  70. }
  71. if(g==0){
  72. printf("%s千%s百%s十",num[q],num[b],num[s]);
  73. return 0;
  74. }
  75. else{
  76. printf("%s千%s百%s十%s",num[q],num[b],num[s],num[g]);
  77. return 0;
  78. }
  79. }
  80. }
Success #stdin #stdout 0.01s 5328KB
stdin
-3405
stdout
请输入任意正负的最多四位数
负三千四百零五