c语言 九宫格

c语言 九宫格,第1张

#include<stdio.h>

#include<malloc.h>

int N=15

int main()

{

int i,j,k,m,n

int G[N][N]

printf("Input the odd number(number<=15) you want !\n")

scanf("%d",&m)

if((m>0)&&(m%2))

{

printf("Your intput number is %d\n",m)

n=m*m

j=0

k=m/2

for(i=1i<=ni++)

{

G[j][k]=i

if(i%m==0)

if(j==m-1)

j=0

else

j++

else

{

if(j==0)

j=m-1

else

j--

if(k==m-1)

k=0

else

k++

}

}

for(i=0i<mi++)

{

for(j=0j<mj++)

printf("%6d",G[i][j])

printf("\n")

}

}

else

printf("The number you inputed is ERROR!!!")

system("pause")

}

可以接受15以内的任意魔方 你的九宫格按照这个程序输出是这样的:

//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 = 1i <= 9i++)

{

for( int j = 1j <= 9j++)

{

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] = 1a[1] <= 9a[1]++){

for( a[2] = 1a[2] <= 9a[2]++){

for( a[3] = 1a[3] <= 9a[3]++){

for( a[4] = 1a[4] <= 9a[4]++){

for( a[5] = 1a[5] <= 9a[5]++){

for( a[6] = 1a[6] <= 9a[6]++){

for( a[7] = 1a[7] <= 9a[7]++){

for( a[8] = 1a[8] <= 9a[8]++){

for( a[9] = 1a[9] <= 9a[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()

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11014455.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存