C++ Practise14:探询路径

#include
#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++;
 }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章