宮格C語言
『壹』 C++,9宮格,簡單的弄,用函數調用做。
//2010/10/22 21:17:07 FRI
//用c++程序編寫:
//在九宮格里填寫數字,縱、橫、斜(對角)相加=15
//create by jims
#include < iostream>
// +----+----+----+
// |1 |2 | 3 |
// +----+----+----+
// |4 |5 |6 |
// +----+----+----+
// |7 |8 |9 |
// +----+----+----+
// ADS:use emacs table-insert
bool check(int* a,int num)
{
//std::cout<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<std::endl;
if( (a[1]+ a[2] +a[3] ==15)
&& (a[4] + a[5] + a[6] == 15)
&& (a[7] + a[8] + a[9] == 15)
&& (a[1] + a[4] + a[7] == 15)
&& (a[2] + a[5] + a[8] == 15)
&& (a[3] + a[6] + a[9] == 15)
&& (a[1] + a[5] + a[9] == 15)
&& (a[3] + a[5] + a[7] == 15)
)
{
for( int i = 1; i <= 9; i++)
{
for( int j = 1; j <= 9; j++)
{
if( i != j
&& a[i] == a[j])
return false;
}
}
return true;
}
else
return false;
}
int main(int argc, char* argv[])
{
int a[10];
bool find = false;
for( a[1] = 1; a[1] <= 9; a[1]++){
for( a[2] = 1; a[2] <= 9; a[2]++){
for( a[3] = 1; a[3] <= 9; a[3]++){
for( a[4] = 1; a[4] <= 9; a[4]++){
for( a[5] = 1; a[5] <= 9; a[5]++){
for( a[6] = 1; a[6] <= 9; a[6]++){
for( a[7] = 1; a[7] <= 9; a[7]++){
for( a[8] = 1; a[8] <= 9; a[8]++){
for( a[9] = 1; a[9] <= 9; a[9]++){
if( check( a,9))
{
find = true;
std::cout<<a[1]<<a[2]<<a[3]<<a[4]<<a[5]<<a[6]<<a[7]<<a[8]<<a[9]<<std::endl;
goto leble_find;
}
}}}}}}}}}
leble_find:
if( find)
{
std::cout<<a[1]<<" "<<a[2]<<" "<<a[3]<<"\n";
std::cout<<a[4]<<" "<<a[5]<<" "<<a[6]<<"\n";
std::cout<<a[7]<<" "<<a[8]<<" "<<a[9]<<"\n";
}
else
std::cout<<"can't find\n";
std::cin.get();
}
『貳』 如何用c語言排列一個3*3宮格,並在每個宮格中插數
可以用二維數組,實現如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[3][3],i,j;
printf("請輸入9個整數(每個數之間用空格隔開):");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("您輸入的數為: ");
for(i=0;i<3;i++)
printf("%d%d%d ",a[i][0],a[i][1],a[i][2]);
system("pause");
return0;
}
『叄』 九宮格的演算法
見到很多同樣喜歡數學問題的朋友提問關於9宮格等的問題,我在此做出答案和解法,希望能給大家一點幫助。
九宮格,二十五宮格,甚至八十一宮格,只要是奇數的平方宮格者能做到橫格相加,堅格相加,斜格相加得數相同。而偶數的宮格只有十六宮格有些規律。
下面是三宮格、五宮格、七宮格、九宮格圖.
三宮格(和15)
8 1 6
3 5 7
4 9 2
五宮格(和65)
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
七宮格(和175)
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20
九宮格(和369)
47 58 69 80 1 12 23 34 45
57 68 79 9 11 22 33 44 46
67 78 8 10 21 32 43 54 56
77 7 18 20 31 42 53 55 66
6 17 19 30 41 52 63 65 76
16 27 29 40 51 62 64 75 5
26 28 39 50 61 72 74 4 15
36 38 49 60 71 73 3 14 25
37 48 59 70 81 2 13 24 35
這是八十一宮格的排列圖,你可以從中找出規律。
首先在第一行中間寫下1,然後向下移動到最底下,向右移一格寫下2,然後一下向右上方寫到最邊處,
然後平移到最左邊,向上移動一格再向右上方寫。遇到數字後向下寫一格,繼續向右上寫。
按此規律,可寫出任意奇數的平方宮格。
偶數宮格好象沒有規律,且除了十六宮格外,其它的好象也填不出來。填寫十六宮格也有一個規律,叫做「順序排列,雙肩互換」,就是第一行寫上1、2、3、4,第二行5、6、7、8,一直到第四行13、14、15、16,然後2與15對調,3與14對調,5與12對調,8與9對調就可以了。
奇宮格我有另外的方法,1站當中,以馬步照順序下去就可以了,但要注意一點,幾宮格逢幾下一個數直接寫下面,如5宮:
23 12 1 20 9
4 18 7 21 15
10 24 13 2 16
11 5 19 8 22
17 6 25 14 3
《寰神結》橘山黃陵九宮格解法
tuan 2002-12-24 10:13:24
因為是剛剛用記憶邊回想邊畫的,如果有錯請大家多指教,第一次進陽之間九宮格應該要全部壓下
1 2 3
4 5 6
7 8 9
而一進去陽之間時應該呈現的是
2 4 6 8為突起
其餘的為凹下
其破解順序為2-4-8-6
按下後就會出現陰之間
而陰之間九宮格應該要全部壓下
而一進去陰之間時應該呈現的是
3 4 5 6 7為突起
其餘的為凹下
其破解順序為7-3-2-8-1-7-9-3-5-2-4-8-6
然後就可以回到陽之間
再將九宮格全部隆起
其原九宮格跟第一次進陽之間時所呈現的一樣
所以破解順序就為5-1-7-9-3-2-4-8-6
原本的封塵之間就會變為龍泉之間了
『肆』 C語言中關於九宮格的演算法
你想達到什麼目的?問題具體一些!
『伍』 9宮格 c/c++編程題!
孫鑫老師的視頻對你有幫助
你這個看過大約4課就能馬馬虎虎做出來了
應該用MFC比較方便
『陸』 c語言輸出二十五宮格代碼
用拉伊爾法製造五階幻方(25宮格)
第一步:構造基方:用1-5填寫幻方,使兩對角線上分別是12345和33333,而且每橫行縱行和均為15,如下
1 4 2 5 3
4 2 5 3 1
2 5 3 1 4
5 3 1 4 2
3 1 4 2 5
第二步:然後構造根方:將基方左右調轉過來,每個數都減去1,再乘以5,得到如下
10 20 5 15 0
0 10 20 5 15
15 0 10 20 5
5 15 0 10 20
20 5 15 0 10
第三步:根方和基方每個對應小格中的數相加,得到最後的幻方
11 24 7 20 3
4 12 25 8 16
17 5 13 21 9
10 18 1 14 22
23 6 19 2 15
即二十五宮格。