99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

java九宮格代碼 九宮格代碼實現

java 輸出九宮格

將你其中某些問題的答案放在代碼注釋中了.

創新互聯建站自2013年創立以來,先為綏德等服務建站,綏德等地企業,進行企業商務咨詢服務。為綏德企業網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

這個程序輸出的是固定的九宮格,我想,是根據固有的九宮格中的數字與數組下標的關系來寫的代碼。

希望對你有所幫助,加油!

class?S{

public?static?void?main(String[]?args)?{?

int?arr[][]?=?new?int[3][3];?

//創建一個三階方陣??

int?a?=?2;????????

//第3行的行下標

//???這里是什么意思,2從何而來

//A:java中數組的下標從0開始

int?b?=?3/2;????

//第2列的列下標

//???同上?

//A:這里由于b=1,(int)/(int),java中數組的下標從0開始

for(int?i=1;i=9;i++){??

//給數組賦值???

arr[a++][b++]?=?i;??

if(i%3==0){?????

//如果i是3的倍數——————???為什么要判斷是不是3的倍數?

a?=?a-2;

//————————————————???if...else里面的語句是什么意思,作用是什么???

b?=?b-1;//————————————————???同上??

}

//使a,b回到起點:a=2,b=1;

else{???????

//如果i不是3的倍數//————————————————???同上????

a?=?a%3;???

b?=?b%3;???

}??

}

//????九宮格的每一行、每一列、對角線都等于15,

//???但是這里連一個15這個數字都沒有出現,但還是成功輸出

//————————————————————???他是怎么做到的?

System.out.println("輸出九宮格:");???

//遍歷輸出九宮格??

for(int?i=0;i3;i++){?

for(int?j=0;j3;j++){??

System.out.print(arr[i][j]+"??");?

}

System.out.print("\n");//從你的程序中將此語句上移到此位置?

}

}

}

java 寫一個九宮格的代碼!不用很復雜,實現了基本的功能就行! 謝謝大家!我自己寫的都暈了

/*

九宮格算法代碼 C++版

*/

#include stdio.h

int map[9][9] = {0, 0, 3, 8, 1, 0, 0, 0, 9,

5, 0, 0, 4, 0, 0, 0, 8, 0,

0, 6, 0, 9, 0, 0, 1, 0, 0,

0, 0, 8, 0, 3, 0, 0, 0, 6,

0, 0, 0, 0, 0, 0, 0, 0, 0,

9, 0, 0, 6, 0, 0, 5, 0, 0,

0, 0, 6, 0, 0, 9, 0, 1, 0,

0, 1, 0, 0, 0, 5, 0, 0, 4,

2, 0, 0, 0, 4, 8, 7, 0, 0};

void display()

{

int i;

int j;

for (i = 0; i 9; i++)

{

for (j = 0; j 9; j++)

{

if(map[i][j])

{

printf(" %d ", map[i][j]);

}

else

{

printf(" ");

}

}

printf("\n");

}

}

int check(int x, int y, int *mark) //check函數為該格子可以選擇的數字

{

int i;

int j;

int gi;

int gj;

int count = 0;

for (i = 1; i = 9; i++)

{

mark[i] = 0; //初始化

}

for (i = 0; i 9; i++)

{

mark[map[x][i]] = 1; //表示該行該數字已存在

mark[map[i][y]] = 1; //表示該列該數字已存在

}

gi = x / 3 * 3; // 九宮格把map分割成9個小塊,如果該格子所在行列為(1,4),那么它所在子格子起始為(0,3)到(2,5)的九個小格子

gj = y / 3 * 3;

for (i = 0; i 3; i++)

{

for (j = 0; j 3; j++)

{

mark[map[gi + i][gj + j]] = 1; //此循環為表示所在子格子的九個小格子中已存在該數字

}

}

for (i = 1; i = 9; i++)

{

if(0 == mark[i]) //如果該數字不存在則++

{

count++;

}

}

return count;

}

void crack() //??

{

int i;

int j;

int mark[10]; //標志數字是否已存在

int min = 10; //記錄最少可能數字數

int ci = -1; //ci,cj用來記錄最少可能數字的格子所在行列

int cj;

for (i = 0; i 9; i++)

{

for (j = 0; j 9; j++)

{

if (map[i][j])

{

continue; //如果該格子已有數字則跳到下一個格子

}

int c = check(i, j, mark); //c為該格子可以選擇的數字

if (0 == c)

{

return;

}

if (c min)

{

ci = i;

cj = j;

min = c;

}

}

}

if (-1 == ci)

{

printf("The answer is:\n");

display();

return;

}

check(ci, cj, mark);//這個語句的作用是把mark這個數組設置成最小可能格子缺少的數字,若缺少則為0

for (i = 1; i = 9; i++)

{

if (mark[i] == 0)

{

map[ci][cj] = i; //先填入該數字

crack(); //進行判斷

}

map[ci][cj] = 0; //若這個數字不可以得到解則判斷下一可能數字(這里類似0-1背包問題)

}

}

int main()

{

printf("The game is:\n");

display();

crack();

return 0;

}

java編程題,在九宮格內填入1—9九個數字,使得橫豎排的數字相加之和都相等

/*直接復制運行就可以,每一行的九個數字代表一個九宮格的9個數字,從左到右,從上到下*/

import?java.util.ArrayList;

import?java.util.Arrays;

public?class?Test1?{

private?static?ArrayListString?arrangeList?=?new?ArrayListString();?

?public?static?void?main(String[]?args)?{

String?str?=?"123456789";//你要排列組合的字符串

char?list[]?=?str.toCharArray();//將字符串轉換為字符數組

genernateData(list,?0,?list.length?-?1);//參數為字符數組和0和字符數組最大下標

int?arr[]=new?int[9];

for(String?str1?:?arrangeList){

for(int?k=0;k9;k++){

arr[k]=Integer.parseInt(str1.substring(k,k+1));

}

if(arr[0]+arr[1]+arr[2]==15arr[3]+arr[4]+arr[5]==15arr[6]+arr[7]+arr[8]==15arr[0]+arr[3]+arr[6]==15arr[1]+arr[4]+arr[7]==15arr[2]+arr[5]+arr[8]==15arr[0]+arr[4]+arr[8]==15arr[2]+arr[4]+arr[6]==15){

System.out.println(Arrays.toString(arr));

}

}

}

?

public?static?void?genernateData(char?list[],?int?k,?int?m)?{

?if?(k??m)?{

?StringBuffer?sb?=?new?StringBuffer();//創建一個StringBuffer對象sb

?for?(int?i?=?0;?i?=?m;?i++)?{

?sb.append(list[i]);//循環將字符數組值追加到StringBuffer中

?}

?arrangeList.add(sb.toString());

?}?else?{

?for?(int?i?=?k;?i?=?m;?i++)?{

?swapData(list,?k,?i);//將下表為k和i的值調換位置

?genernateData(list,?k?+?1,?m);

?swapData(list,?k,?i);

?}

?}

}

private?static?void?swapData(char?list[],?int?k,?int?i)?{

char?temp?=?list[k];

list[k]?=?list[i];

list[i]?=?temp;

}

}

標題名稱:java九宮格代碼 九宮格代碼實現
本文網址:http://www.yijiale78.com/article8/hhchip.html

成都網站建設公司_創新互聯,為您提供網站設計企業網站制作外貿網站建設標簽優化營銷型網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設