1樓:
樓主你好。見醜了。。我用了一個窮舉的方法。我寫的**的好處在於易於擴充套件,n代表了棋盤的大小,你可以任意修改,不止是4。
【經過幾次優化後變為以下**,採用回溯法】
#include
#include
#define n 6
#define noprinting //標誌是否列印陣列
//如果只是計算可能的情況的話,根本不需要n×n的棋盤陣列。
void printmatrix(int* matrix, int m, int n)
printf("\n");}}
void recusion(int* chessboard, int n, int iter, int* count, int* col)
for(i=0;i #ifndef noprinting currentrow[i]=currentrow[j]=0;//清空當前行 #endif}} }void putchess(int* chessboard, int n, int* count) void main(); printf("**********start to put chess!**********=\n"); putchess((int*)chessboard, n, &count); printf("all %d possible deploy!\n", count); }輸出: 【n為3且選擇列印】 **********start to put chess!**********= 1 1 0 1 0 1 0 1 1 ******************************= 1 1 0 0 1 1 1 0 1 ******************************= 1 0 1 1 1 0 0 1 1 ******************************= 1 0 1 0 1 1 1 1 0 ******************************= 0 1 1 1 1 0 1 0 1 ******************************= 0 1 1 1 0 1 1 1 0 ******************************= all 6 possible deploy! press any key to continue 【n為8的時候,有近兩億種情況,花了將近一分鐘的時間算完。】 **********start to put chess!**********= all 187530840 possible deploy! press any key to continue 2樓:mis_丫 要列出所有情況? 不現實吧,太多了,算出有幾種還可以 只要一種那你直接指定位置就好了啊 比如:a[0][0] ,a[0][1], a[1][0] ,a[1][1], a[2][2] ,a[2][3], a[3][2] ,a[3][3], 3樓:匿名使用者 編的話我應該會,你說的數學情況我不大懂 是說每行列最多兩個,還是都要有兩個呢? 4樓:匿名使用者 情況比較複雜,最好從每行每列放一個開始吧。 5樓:愛我所愛 只是純粹的放置標誌量麼?有沒有遊戲規則什麼的 c語言編寫一個程式,實現一個3×4矩陣轉置。 6樓:匿名使用者 思路:定了bai兩個二維陣列分du別儲存轉置前zhi後的矩陣,接著for迴圈依次轉置dao即可。內//參考** #include int main() ,,},b[4][3]; int i,j; for(i=0;i<3;i++) for(j=0;j<4;j++) 容b[j][i]=a[i][j]; for(i=0;i<4;i++) return 0;}/* 執行結果: 1 5 9 2 6 10 3 7 11 4 8 12*/ 7樓:匿名使用者 #include void main() for(i=0;i for(j=0;j b[j][i]=a[i][j]; for(i=0;i 自我程式設計 按照題目要求 1 實現檔案寫入功能,一次寫入一個職工資訊。2 實現查詢功能 包含4種條件查詢 3 實現資訊刪除和修改並寫入檔案。根據題意,資料用結構陣列儲存,且職工編號唯一性,因此單獨兩個函式計算資訊長度和編號。除條件查詢函式和讀取檔案的函式,不會自行free釋放記憶體。如你寫 呼叫,... 天堂妹兒 選b,等於10。首先是t 3 f t,3 也就是4 f t,3 然後是4 t 2 f t,2 算出來是7 f t,2 然後是7 t 1 f t,1 算出來是9 f t,1 然後是9 t 0 f t,0 算出來是10 f t,0 由於此時n 0,所以返回,結果為10。 草野閒羊 選b,等於1... 1 沒答案,應該是a2,b 5 2 a3 沒答案,因為 u輸出a的值不確定4 a5 c 6 b7 沒答案,應該是scanf f c 8 c9 b 1 沒答案如為printf a d,b d n a,b 選 d a d,b d 2 b3 c 4 c5 c 6 d7 a 我想答案應該是scanf f c...c語言程式大神幫忙設計一下
c語言程式,幫忙詳細分析一下,C語言程式,幫忙詳細分析一下!
c語言習題請高手幫忙解答,C語言習題請高手幫忙解答。