程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 遞歸-我想問一下這個我要怎麼才能在主函數中實現調用 謝謝

遞歸-我想問一下這個我要怎麼才能在主函數中實現調用 謝謝

編輯:編程解疑
我想問一下這個我要怎麼才能在主函數中實現調用 謝謝
 #include <stdio.h>//循環賽問題 n=2^k 個運動員要進行循環賽 (1)每個選手必須與其他n-1名選手各比賽一次
//(2)每個選手一天只能賽一次 (3)循環賽一共進行n-1天
//利用分治法解決這個問題 用遞歸的方法用一分為二的策略對選手進行分割 知道剩下2個選手時 只需讓這兩個選手比賽就可以了
#include <stdlib.h>
#define N 8
int a[N][N];
void  Table(int k, int **a,int C)
{
    int n = 1;
    for (int i = 1; i <= k; i++)n *= 2;//記錄人數 並且記錄劃分
    for (int i = 1; i <= n; i++)a[1][i] = i;//錄入第一行 按人的編號錄入的數據
    int m = 1;
    for (int s = 1; s <= k; s++)
    {
        n /= 2;
        for (int t = 1; t <= n; t++)//三重循環進行賦值 4,2,1
            for (int i = m + 1; i <= m + 1; i++)//2,3,5
                for (int j = m + 1; j <= m + 1; j++)//2,3,5
                {
                    a[i][j + (t - 1)*m*2] = a[i - m][j + (t - 1)*m * 2 - m];//按4格對角線賦值
                    a[i][j + (t - 1)*m * 2 - m] = a[i - m][(t - 1)*m * 2];
                }
        m *= 2;//m按2的倍數遞增
    }
}
int main()
{
    int k = 3;
    Table(k, a);



}

最佳回答:


void Table(int k, int **a,int C)
我猜的話,應該是在main函數裡要聲明一個數組或者指針
然後對它取地址作為第二個參數進入Table函數參與運算
結果由這個二級指針帶出來,所以沒有設返回值

qq_33555452
qq423399099
caozhy
caozhy
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved