#include<stdio.h>
#include<stdlib.h>
int i,m,n,count=0;
char a[37],b[37];
bool tag[37];
void arrange(char *a,int n,FILE *fp)
{
for(int i=1;i<=m;i++)
{
if(tag[i])
{
tag[i]=false;
count++;
b[count]=a[i];
if(count==n)
{
for(int j=1;j<=n;j++) fprintf(fp,"%c ",b[j]);
fprintf(fp,"\n");
}
arrange(a,n,fp);
tag[i]=true;
count--;
}
}
}
int main()
{
FILE *fp;
fp=fopen("C:\\nubmer36.txt","w");
if(fp==NULL)
{
printf("无法打开指定文件!");
exit(1);
}
printf("请输入m和n:");
scanf("%d%d",&m,&n);
printf("请输入连续%d个元素(不要用空格分开):",m);
fflush(stdin);
for(i=1;i<=m;i++) scanf("%c",&a[i]);
for(i=1;i<=m;i++) tag[i]=true;
arrange(a,n,fp);
fclose(fp);
return 0;
}
追问1,如何将""请输入连续%d个元素"改写成用空格分开
2,如何统计number36一共有多少条
C语言高手请再指导,先采纳加50分
追答把输入语句改成scanf("%s",&a[i]);
直接用排列公式计算