Advertisement
KuoHsiangYu

九宮格拼圖_5版.c

Aug 24th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.82 KB | None | 0 0
  1. //九宮格拼圖_5版
  2. #include<stdio.h>/*定義輸入/輸出函數_C語言標準輸出/輸入函式庫_printf()函數_scanf()函數*/
  3. #include<stdlib.h>/*定義雜項函數及內存分配函數_工具函式庫_system()函數*/
  4. int main(int argc, char** argv)
  5. {
  6.     system("color f0");
  7.     int i = 0, j = 0, i0 = 0, j0 = 0, i2 = 0, j2 = 0, message = 0, count = 0;
  8.     int a1[3][3]=
  9.     {
  10.         //初始陣列
  11.         {1, 2, 3},
  12.         {4, 0, 5},
  13.         {6, 7, 8}
  14.     };
  15.    
  16.     //設陣列a[][]為九宮格拼圖陣列,且設空格為0,使用雙層for迴圈印出陣列。
  17.     for(i = 0; i < 3; i = i + 1)
  18.     {
  19.         for(j = 0; j < 3; j = j + 1)
  20.         {
  21.             printf("「%d」", a1[i][j]);
  22.         }
  23.         printf("\n");
  24.     }
  25.    
  26.     for(;;)
  27.     {
  28.         printf("請輸入數字:");
  29.         int a = 0;
  30.         scanf("%d",&a);
  31.        
  32.         if(a == 0)
  33.         {
  34.             break;
  35.         }
  36.        
  37.         for(i = 0; i < 3; i = i + 1)
  38.         {
  39.             for(j = 0; j < 3; j = j + 1)
  40.             {
  41.                 if(a1[i][j] == a)
  42.                 {
  43.                     //尋找輸入數字的目標陣列位址
  44.                     i2 = i;
  45.                     j2 = j;
  46.                 }
  47.                
  48.                 else if(a1[i][j] == 0)
  49.                 {
  50.                     //尋找0在陣列中的位置
  51.                     i0 = i;
  52.                     j0 = j;
  53.                 }
  54.             }
  55.         }
  56.        
  57.         //把輸入數字跟0做交換
  58.         int temp = 0;
  59.         temp = a1[i0][j0];
  60.         a1[i0][j0] = a1[i2][j2];
  61.         a1[i2][j2] = temp;
  62.        
  63.                
  64.         printf("\n");
  65.        
  66.         //把結果印出來。
  67.         for(i = 0; i < 3; i = i + 1)
  68.         {
  69.             for(j = 0; j < 3; j = j + 1)
  70.             {
  71.                 printf("「%d」", a1[i][j]);
  72.             }
  73.             printf("\n");
  74.         }
  75.        
  76.         if(a1[0][0] == 1 & a1[0][1] == 2 & a1[0][2] == 3 & a1[1][0] == 4 & a1[1][1] == 5\
  77.         & a1[1][2] == 6 & a1[2][0] == 7 & a1[2][1] == 8 & a1[2][2] == 0)
  78.         {
  79.             printf("恭喜您,九宮格排列成功\。\n");
  80.             printf("您總共花了%d次去排列九宮格。\n", count);
  81.             break;
  82.         }
  83.        
  84.         count = count + 1;
  85.     }
  86.    
  87.     printf("\n");
  88.     //system("color 07");
  89.     system("pause");
  90.     return 0;
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement