Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //九宮格拼圖_5版
- #include<stdio.h>/*定義輸入/輸出函數_C語言標準輸出/輸入函式庫_printf()函數_scanf()函數*/
- #include<stdlib.h>/*定義雜項函數及內存分配函數_工具函式庫_system()函數*/
- int main(int argc, char** argv)
- {
- system("color f0");
- int i = 0, j = 0, i0 = 0, j0 = 0, i2 = 0, j2 = 0, message = 0, count = 0;
- int a1[3][3]=
- {
- //初始陣列
- {1, 2, 3},
- {4, 0, 5},
- {6, 7, 8}
- };
- //設陣列a[][]為九宮格拼圖陣列,且設空格為0,使用雙層for迴圈印出陣列。
- for(i = 0; i < 3; i = i + 1)
- {
- for(j = 0; j < 3; j = j + 1)
- {
- printf("「%d」", a1[i][j]);
- }
- printf("\n");
- }
- for(;;)
- {
- printf("請輸入數字:");
- int a = 0;
- scanf("%d",&a);
- if(a == 0)
- {
- break;
- }
- for(i = 0; i < 3; i = i + 1)
- {
- for(j = 0; j < 3; j = j + 1)
- {
- if(a1[i][j] == a)
- {
- //尋找輸入數字的目標陣列位址
- i2 = i;
- j2 = j;
- }
- else if(a1[i][j] == 0)
- {
- //尋找0在陣列中的位置
- i0 = i;
- j0 = j;
- }
- }
- }
- //把輸入數字跟0做交換
- int temp = 0;
- temp = a1[i0][j0];
- a1[i0][j0] = a1[i2][j2];
- a1[i2][j2] = temp;
- printf("\n");
- //把結果印出來。
- for(i = 0; i < 3; i = i + 1)
- {
- for(j = 0; j < 3; j = j + 1)
- {
- printf("「%d」", a1[i][j]);
- }
- printf("\n");
- }
- if(a1[0][0] == 1 & a1[0][1] == 2 & a1[0][2] == 3 & a1[1][0] == 4 & a1[1][1] == 5\
- & a1[1][2] == 6 & a1[2][0] == 7 & a1[2][1] == 8 & a1[2][2] == 0)
- {
- printf("恭喜您,九宮格排列成功\。\n");
- printf("您總共花了%d次去排列九宮格。\n", count);
- break;
- }
- count = count + 1;
- }
- printf("\n");
- //system("color 07");
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement