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. printf("%s",num[n]);
  17. return 0;
  18. }
  19. if(n<0){
  20. n=-1*n;sign=-1;
  21. }
  22. g=n%10;s=n/10%10;b=n/100%10;q=n/1000%10;
  23. if(sign==-1){
  24. printf("负");
  25. }
  26. if(q==0&&b==0&&s==0){//个位
  27. printf("%s",num[g]);
  28. return 0;
  29. }
  30. if(q==0&&b==0){//十位
  31. printf("%s十%s",num[s],num[g]);
  32. return 0;
  33. }
  34. if(q==0){//百位
  35. if(s==0&&g==0){
  36. printf("%s百",num[b]);
  37. return 0;
  38. }
  39. if(s==0){
  40. printf("%s百零%s",num[b],num[g]);
  41. return 0;
  42. }
  43. if(g==0){
  44. printf("%s百%s十",num[b],num[s]);
  45. return 0;
  46. }
  47. else{
  48. printf("%s百%s十%s",num[b],num[s],num[g]);
  49. return 0;
  50. }
  51. }
  52. else{//千位
  53. if(b==0&&s==0&&g==0){
  54. printf("%s千",num[q]);
  55. return 0;
  56. }
  57. if(b==0&&s==0){
  58. printf("%s千零%s",num[q],num[g]);
  59. return 0;
  60. }
  61.  
  62. if(b==0 && s!=0){
  63. printf("%s千零%s十%s", num[q], num[s], num[g]);
  64. return 0;
  65. }
  66.  
  67. if(s==0&&g==0){
  68. printf("%s千%s百",num[q],num[b]);
  69. return 0;
  70. }
  71. if(s==0){
  72. printf("%s千%s百零%s",num[q],num[b],num[g]);
  73. return 0;
  74. }
  75. if(g==0){
  76. printf("%s千%s百%s十",num[q],num[b],num[s]);
  77. return 0;
  78. }
  79. else{
  80. printf("%s千%s百%s十%s",num[q],num[b],num[s],num[g]);
  81. return 0;
  82. }
  83. }
  84. }
Success #stdin #stdout 0s 5316KB
stdin
-2778
stdout
请输入任意正负的最多四位数
负二千七百七十八