老师让写个功能,想了想,发现居然不会做!

persea2 2009-01-05 10:41:06
任意输入一串字符如"1g3as",程序分析出这串字符乱序所有的可能组合。如"13gsa"。。。。
本以为几个循环就做完了,仔细想想,没这么简单。。谁能写个差不多的来看看。
...全文
86 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
persea2 2009-01-05
  • 打赏
  • 举报
回复
帖的可以用,只是看不懂。。。
lann64 2009-01-05
  • 打赏
  • 举报
回复
网上搜字符全排列,多得是。
  • 打赏
  • 举报
回复
忘贴主函数了。。
void main()
{
char str[]={"abcde"};

permStr(str,0); //permStr实现对str的全排列输出

}
  • 打赏
  • 举报
回复
字符全排列的问题,我这里有个递归实现的。贴给你看下

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

void swap(char *str1,char *str2)
{
char temp;
temp=*str1;
*str1=*str2;
*str2=temp;
}

void permStr(char *str,int i)
{
//printf("%d",i);
if(i==strlen(str)-1)
printf("%s\n",str);
else
{
for(int j=i;j<strlen(str);j++)
{
//printf("i %d,j %d",i,j);
swap(&str[i],&str[j]);
permStr(str,i+1);
swap(&str[i],&str[j]);
}
}
}


3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧