#include<string.h>
using namespace std;
void path(int n,char s[20]);
int k=0;
void main()
{
int length = 0;
do
{
cout<<"请输入路径长度"<<endl;
cin>>length;
}while(length>9);
path(length, "");
}
void path(int n, char s[20])
{
char s1[20];
s1[0]='-';
s1[1]=n+48;//将整数转换为响应字符的ascii码
s1[2]='\0';//做什么用的,为何要加?目的:告诉编译器,这个字符已经结束,和下个字符不能相加
strcat(s1,s);
if(n>1)
path(n-2,s1);//递归
if(n>0)
path(n-1,s1);//递归
if(n==0)
{
cout<<k<<":0"<<s<<endl;
k++;
}
}