📄 1856043_ole.cpp
字号:
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
char str[100];
char c[100];
int n;
int len1;
int cmp(const void *a, const void *b)
{
if(*(char *)a - *(char *)b == ' ') return 1;
if(*(char *)a>='a'&&*(char *)b>='a'||*(char *)a<='Z'&&*(char *)b<='Z')
return (*(char *)a - *(char *)b);
else
if(*(char *)a <= 'Z')
return (*(char *)a-*(char *)b+' ');
else
return (*(char *)a-*(char *)b-' ');
}
void permu(char ch[])
{
int i;
int len;
char temp[100];
len = strlen(ch);
if(len==1) {c[len1-1]=ch[0];puts(c);return ;}
for(i = 0; i < len; i++)
{
strcpy(temp,ch);
c[len1-len] = ch[i];
strcpy(&ch[i],&ch[i+1]);
permu(ch);
strcpy(ch,temp);
}
}
void main()
{
int N;
scanf("%d",&N);
while(N--)
{
scanf("%s",str);
n = 0;
qsort(str,strlen(str),sizeof(str[0]),cmp);
len1 = strlen(str);
permu(str);
memset(c,'\0',sizeof(c));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -