好深奥喔
为什么我都看不懂阿
我们是活在同个世界的吗...
※ 引述《rrr518 (废文族の里莎)》之铭言:
: ※ 引述《rrr518 (废文族の里莎)》之铭言:
: : kuso我问你一个很重要的问题唷
: : 你们学过递回了吗?
: : 如果没有的话我就要想想别的方法了 XDDDD
: : 如果可以用递回
: : n*n就是用递回的概念扩增上的
: #include<stdio.h>
: #include<stdlib.h>
: void swap(char* array, int i, int j);
: void AllArray(char* array, int array_size, int index);
: int main(void) {
: int n = 4;
: char Array[] = { 1,2,3,4,5 };
: AllArray(Array, n, 0);
: system("pause");
: return 0;
: }
: void swap(char* array, int i, int j)
: {
: int t = array[i];
: array[i] = array[j];
: array[j] = t;
: }
: void AllArray(char* array, int size, int index)
: {
: if (index >= size) //当index > size后表示这个递回走到底了
: {
: for (int i = 0; i < size; ++i)
: {
: printf("%d", array[i]);
: }
: printf("\n");
: return;
: }
: for (int i = index; i < size; ++i)
: {
: swap(array, i, index);
: AllArray(array, size, index + 1);
: swap(array, i, index);
: }
: }
: 这样排列组合就出来了
: 如果没有学过动态内存配置的话
: Array阵列就自己默认大一点
: Array[] = {1,2,3,4,5,6,7,8,9,10,11......100};
: 之类的
: 大概是这样!!