Holey_yan

20140311_KUAS_VisualC++_Exam03

Mar 11th, 2014
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.79 KB | None | 0 0
  1. /************************************/
  2. /** 20140311 Exam 03               **/
  3. /** Maker  : Yan                   **/
  4. /** E-Mail : [email protected] **/
  5. /** Date   : 2014/03/11 pm.11:36   **/
  6. /************************************/
  7.  
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. //方式一:使用for.. next.. 迴圈
  12. void method_1()
  13. {
  14.     //定義變數, input 為輸入數字, sum 為加總
  15.     int input = 0, sum = 0;
  16.     printf("Input a number: ");
  17.     scanf("%d", &input);
  18.  
  19.     //開始迴圈
  20.     for(int i = 1; i <= input; i++)
  21.     {
  22.         //若是input 除以i 取餘數為0 則其值為輸入值之因數
  23.         if(input % i == 0)
  24.         {
  25.             //若是input 與i 值不同(即為非最後一位, 因任何數與自己互為因數)
  26.             if(input != i)
  27.             {
  28.                 //輸出格式為[i, ]
  29.                 printf("%d, ", i);
  30.             }
  31.             //若i 與input 相同, 即代表此為最後因數
  32.             else if(input == i)
  33.             {
  34.                 //定義輸出格式
  35.                 printf("%d are %d factor.", i, input);
  36.             }
  37.         }
  38.     }
  39.    
  40.     //斷行
  41.     printf("\n");
  42. }
  43.  
  44. //方式二:使用while.. 迴圈
  45. void method_2()
  46. {
  47.     //定義變數, input 為輸入數字, sum 為加總
  48.     int input = 0, sum = 0;
  49.     printf("Input a number: ");
  50.     scanf("%d", &input);
  51.  
  52.     //定義變數i 為控制迴圈之值
  53.     int i = 1;
  54.     //開始迴圈
  55.     while(i <= input)
  56.     {
  57.         //若是input 除以i 取餘數為0 則其值為輸入值之因數
  58.         if(input % i == 0)
  59.         {
  60.             //若是input 與i 值不同(即為非最後一位, 因任何數與自己互為因數)
  61.             if(input != i)
  62.             {
  63.                 //輸出格式為[i, ]
  64.                 printf("%d, ", i);
  65.             }
  66.             //若i 與input 相同, 即代表此為最後因數
  67.             else if(input == i)
  68.             {
  69.                 //定義輸出格式
  70.                 printf("%d are %d factor.", i, input);
  71.             }
  72.         }
  73.         //增加i 值, 否則將為無窮迴圈
  74.         i++;
  75.     }
  76.  
  77.     //斷行
  78.     printf("\n");
  79. }
  80.  
  81. //方式三:使用do.. while.. 迴圈
  82. void method_3()
  83. {
  84.     //定義變數, input 為輸入數字, sum 為加總
  85.     int input = 0, sum = 0;
  86.     printf("Input a number: ");
  87.     scanf("%d", &input);
  88.  
  89.     //定義變數i 為控制迴圈之值
  90.     int i = 1;
  91.     //開始迴圈
  92.     do
  93.     {
  94.         //若是input 除以i 取餘數為0 則其值為輸入值之因數
  95.         if(input % i == 0)
  96.         {
  97.             //若是input 與i 值不同(即為非最後一位, 因任何數與自己互為因數)
  98.             if(input != i)
  99.             {
  100.                 //輸出格式為[i, ]
  101.                 printf("%d, ", i);
  102.             }
  103.             //若i 與input 相同, 即代表此為最後因數
  104.             else if(input == i)
  105.             {
  106.                 //定義輸出格式
  107.                 printf("%d are %d factor.", i, input);
  108.             }
  109.         }
  110.         //增加i 值, 否則將為無窮迴圈
  111.         i++;
  112.     } while(i <= input); //建立判斷式
  113.  
  114.     //斷行
  115.     printf("\n");
  116. }
  117.  
  118. void main()
  119. {
  120.     method_1();
  121.     printf("---------------------\n");
  122.     method_2();
  123.     printf("---------------------\n");
  124.     method_3();
  125.     printf("---------------------\n");
  126.  
  127.     system("pause");
  128. }
Advertisement
Add Comment
Please, Sign In to add comment