爱问知识人 爱问教育 医院库

求解释一下

首页

求解释一下

#include "iostream.h " 
int buffer[100];
void pailie(int n,int m,int count)
{
if(m==0)
{
for(int j=1;j <count;j )
cout < <buffer[j] < < " ";
cout < <endl;
}
for(int i=1;i <=n;i )
{
for(int k=0;k <count;k )
if(buffer[k]==i)
goto next;
buffer[count]=i;
pailie(n,m-1,count 1);
next: ;
}
}
void main()
{
pailie(3,3,1);
}

提交回答

全部答案

    2019-01-08 01:47:23
  •   很明显,从你的函数名就知道这个程序是干嘛的,pailie不就是排列么,全局变量buffer是保存排列后的值,(建议少使用全局变量,会加大内存开销,而且,你这个全局变量,完全可以写在pailie函数里,同时也建议少使用也不要使用调整语句goto,有时会导致整个程序崩溃的),当m=0时,就将buffer里排列好的数值输出,否则就进行排序,两个for循环中,第一个是循环n次,也就是3次(你的main函数调用里),第二个有使用递归函数,两个数两个数进行排列,先讲述这么多,明天详细回复,要没网了
    前面我说错了,改正一下,buffer放在pailie函数会死循环,我错了,然后goto是跳转语句
    pailie函数写成这样你会好理解一些:
    void pailie(int n,int m,int count){
    if(m==0){
    for(int j=1;j。
      

    游***

    2019-01-08 01:47:23

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):