概述
前言
今天算是被这道题折磨了好久,我发现用递归解决的题目在别人把答案给你过后你看完真的会赞不绝口:我靠,真妙啊!!!,但是可能几小时,可能几天,让你再写一遍可能就会傻眼,还是不知道怎么去写,所以对于每一道算法题我都希望逐步追踪它的执行过程,以便留下更深的影响。
思想概述
假如有5个数,首先确定第1个位置上有几种可选择情况,显然是5种,然后确定第2个位置上有几种情况,由于1位置已确定,则还剩4种情况,以此类推,最后一个位置只有当前这种情况,具体实现及解释看下文,首先贴上代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int length;
char *p = NULL;
printf("请问一共需要处理多少个数?n");
scanf("%d", &length);
getchar();//不要忘记这一句,否则缓冲区剩余'n',gets_s函数发现'n'证明用户输入结束,将'n'转化为'