69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int randm(int max){
return rand()%(max+1);
}
int randNext(int pre){
int rt;
while((rt=randm(4))==pre || rt==pre+1);
return rt;
}
void main(){
char *s="abcde";
char dest[6];
char q;
dest[5]=0;
for(int k=0;k<50;k++){ // 这个循环仅是测试用,50次abcde随机序列
dest[0]=s[q=randm(4)];
for(int i=1;i<=4;i++) {
dest[i]= s[q=randNext(q)];
for(int j=0;j<i;j++)
if(dest[i]== dest[j]){
i--;
break;
}
}
printf("%s\n",dest);
}
}