21xrx.com
2025-06-25 06:40:54 Wednesday
登录
文章检索 我的文章 写文章
C语言实现从n个数选出r个数组合
2023-06-17 00:04:41 深夜i     27     0
C语言 数组合 组合 循环 递归

在计算机科学中,组合是一个非常基础的数学概念,它是指从n个元素中选出r个元素的排列方式。在C语言中,我们可以通过编写程序来实现从n中选出r个数字的所有可能的组合方式。首先,我们需要用循环来确定要选出的数字,然后通过递归来找到所有的组合方式。具体实现可以参考下面的代码:

#include 
void combination(int arr[], int n, int r, int index, int data[], int i) {
  if(i == r) {
    for(int j=0; j
      printf("%d ", data[j]);
    }
    printf("\n");
    return;
  }
  
  if(index >= n)
    return;
  
  
  data[i] = arr[index];
  combination(arr, n, r, index+1, data, i+1);
  combination(arr, n, r, index+1, data, i);
}
int main() {
  int arr[] = 5;
  int n = sizeof(arr)/sizeof(arr[0]);
  int r = 3;
  int data[r];
  combination(arr, n, r, 0, data, 0);
  return 0;
}

  
  

评论区