5 个解决方案
#1
array[n]={"(n-1个字符串)"};
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
#2
#include <stdio.h>
void main()
{
int i,j,k,l,m;
char ai[4]="nbm";
char aj[4]="uio";
char ak[4]="ghi";
char al[4]="asd";
char am[4]="iop";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
for(l=0;l<3;l++)
for(m=0;m<3;m++)
printf("%c%c%c%c%c\n",ai[i],aj[j],ak[k],al[l],am[m]);
}
void main()
{
int i,j,k,l,m;
char ai[4]="nbm";
char aj[4]="uio";
char ak[4]="ghi";
char al[4]="asd";
char am[4]="iop";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
for(l=0;l<3;l++)
for(m=0;m<3;m++)
printf("%c%c%c%c%c\n",ai[i],aj[j],ak[k],al[l],am[m]);
}
#3
array[n]={"(n-1个字符串)"};
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
能否给出解释一下
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
能否给出解释一下
#4
整了一个 递归的:
#include <cstdlib>
#include <iostream>
using namespace std;
char buf[256]={0};
void fun_recurse(char *arr[], int index, int index_buf)
{
for (int i = 0; i < (int)strlen(arr[index]); ++i)
{
buf[index_buf]='\0';
if(i>0 && index_buf>0)cout<<buf;
cout<<arr[index][i];
if(arr[index+1] != NULL)
{
buf[index_buf] = arr[index][i];
fun_recurse(arr, index+1, index_buf+1);
}
else cout<<endl;
}
}
int main(void)
{
char *arr[] = {"nbm", "uio", "ghj","asd","iop", NULL}; //NULL 元素做结束标记
fun_recurse(arr, 0, 0);
system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>
using namespace std;
char buf[256]={0};
void fun_recurse(char *arr[], int index, int index_buf)
{
for (int i = 0; i < (int)strlen(arr[index]); ++i)
{
buf[index_buf]='\0';
if(i>0 && index_buf>0)cout<<buf;
cout<<arr[index][i];
if(arr[index+1] != NULL)
{
buf[index_buf] = arr[index][i];
fun_recurse(arr, index+1, index_buf+1);
}
else cout<<endl;
}
}
int main(void)
{
char *arr[] = {"nbm", "uio", "ghj","asd","iop", NULL}; //NULL 元素做结束标记
fun_recurse(arr, 0, 0);
system("pause");
return 0;
}
#5
解释就免了,
递归中的控制用言语描述起来有些麻烦,
楼主慢慢研究一下吧,
可以断点看看过程是怎么样的~~~
递归中的控制用言语描述起来有些麻烦,
楼主慢慢研究一下吧,
可以断点看看过程是怎么样的~~~
#1
array[n]={"(n-1个字符串)"};
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
#2
#include <stdio.h>
void main()
{
int i,j,k,l,m;
char ai[4]="nbm";
char aj[4]="uio";
char ak[4]="ghi";
char al[4]="asd";
char am[4]="iop";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
for(l=0;l<3;l++)
for(m=0;m<3;m++)
printf("%c%c%c%c%c\n",ai[i],aj[j],ak[k],al[l],am[m]);
}
void main()
{
int i,j,k,l,m;
char ai[4]="nbm";
char aj[4]="uio";
char ak[4]="ghi";
char al[4]="asd";
char am[4]="iop";
for(i=0;i<3;i++)
for(j=0;j<3;j++)
for(k=0;k<3;k++)
for(l=0;l<3;l++)
for(m=0;m<3;m++)
printf("%c%c%c%c%c\n",ai[i],aj[j],ak[k],al[l],am[m]);
}
#3
array[n]={"(n-1个字符串)"};
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
能否给出解释一下
for(int i=0;i<n/3;)
{
cout <<array[ rand()%3+i ];
i+=3;
}
能否给出解释一下
#4
整了一个 递归的:
#include <cstdlib>
#include <iostream>
using namespace std;
char buf[256]={0};
void fun_recurse(char *arr[], int index, int index_buf)
{
for (int i = 0; i < (int)strlen(arr[index]); ++i)
{
buf[index_buf]='\0';
if(i>0 && index_buf>0)cout<<buf;
cout<<arr[index][i];
if(arr[index+1] != NULL)
{
buf[index_buf] = arr[index][i];
fun_recurse(arr, index+1, index_buf+1);
}
else cout<<endl;
}
}
int main(void)
{
char *arr[] = {"nbm", "uio", "ghj","asd","iop", NULL}; //NULL 元素做结束标记
fun_recurse(arr, 0, 0);
system("pause");
return 0;
}
#include <cstdlib>
#include <iostream>
using namespace std;
char buf[256]={0};
void fun_recurse(char *arr[], int index, int index_buf)
{
for (int i = 0; i < (int)strlen(arr[index]); ++i)
{
buf[index_buf]='\0';
if(i>0 && index_buf>0)cout<<buf;
cout<<arr[index][i];
if(arr[index+1] != NULL)
{
buf[index_buf] = arr[index][i];
fun_recurse(arr, index+1, index_buf+1);
}
else cout<<endl;
}
}
int main(void)
{
char *arr[] = {"nbm", "uio", "ghj","asd","iop", NULL}; //NULL 元素做结束标记
fun_recurse(arr, 0, 0);
system("pause");
return 0;
}
#5
解释就免了,
递归中的控制用言语描述起来有些麻烦,
楼主慢慢研究一下吧,
可以断点看看过程是怎么样的~~~
递归中的控制用言语描述起来有些麻烦,
楼主慢慢研究一下吧,
可以断点看看过程是怎么样的~~~