switch.c
上传用户:bjtelijie
上传日期:2010-01-01
资源大小:87k
文件大小:2k
源码类别:

数学计算

开发平台:

Visual C++

  1. # include <stdio.h>
  2. void main()
  3. {
  4. int num;
  5. /* 下面定义的各变量,分别代表个位,十位,百位,千位,万位,十万位以及位数 */
  6. int indiv, ten, hundred, thousand; 
  7. int ten_thousand, hundred_thousand, place;
  8. printf("请输入一个整数(0~999999):");
  9. scanf("%d", &num);
  10. /* 判断变量num的位数 */
  11. if(num > 99999)
  12. place = 6;
  13. else if(num > 9999)
  14. place = 5;
  15. else if(num > 999)
  16. place = 4;
  17. else if(num > 99)
  18. place = 3;
  19. else if(num > 9)
  20. place = 2;
  21. else
  22. place = 1;
  23. printf("place = %dn", place);
  24. printf("每位数字为:");
  25. /* 求出num在各位上的值 */
  26. hundred_thousand = num/100000;
  27. ten_thousand = (num - hundred_thousand*100000)/10000;
  28. thousand = (num - hundred_thousand*100000 - ten_thousand*10000)/1000;
  29. hundred = (num - hundred_thousand*100000 - ten_thousand*10000 
  30.       - thousand*1000)/100;
  31. ten = (num - hundred_thousand*100000 - ten_thousand*10000 
  32.   - thousand*1000 - hundred*100)/10;
  33. indiv = num - hundred_thousand*100000 - ten_thousand*10000 
  34.     - thousand*1000 - hundred*100 - ten*10;
  35. /* 判断变量num的位数,并根据位数做出相应的输出 */
  36. switch(place)
  37. {
  38. case 1: printf("%d", indiv);
  39.     printf("n反序数字为:");
  40. printf("%dn", indiv);
  41. break;
  42.     case 2: printf("%d, %d", ten, indiv);
  43.     printf("n反序数字为:");
  44. printf("%d%dn", indiv, ten);
  45. break;
  46. case 3: printf("%d, %d, %d", hundred, ten, indiv);
  47.     printf("n反序数字为:");
  48. printf("%d%d%dn", indiv, ten, hundred);
  49. break;
  50. case 4: printf("%d, %d, %d, %d", thousand, hundred, ten, indiv);
  51.     printf("n反序数字为:");
  52. printf("%d%d%d%dn", indiv, ten, hundred, thousand);
  53. break;
  54. case 5: printf("%d, %d, %d, %d, %d", ten_thousand, thousand, 
  55.    hundred, ten, indiv);
  56.     printf("n反序数字为:");
  57. printf("%d%d%d%d%dn", indiv, ten, hundred, 
  58.     thousand, ten_thousand);
  59. break;
  60. case 6: printf("%d, %d, %d, %d, %d, %d", hundred_thousand, 
  61.    ten_thousand, thousand, hundred, ten, indiv);
  62.     printf("n反序数字为:");
  63. printf("%d%d%d%d%d%dn", indiv, ten, hundred, thousand,
  64.     ten_thousand, hundred_thousand);
  65. break;
  66. default: printf("Not find.n");
  67.      break;
  68. }
  69. }