69,371
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<string.h>
int main()
{
int N,n=0,i,j,k;
char in[10002][21],out[10002][21],tou[21],*p;
scanf("%d",&N);
getchar();
for(i=0;i<N;i++)
gets(in[i]);
gets(tou);
for(i=0;i<N;i++)
{
p=strstr(in[i],tou);
if(p==in[i])
{
n++;
if(n==1) strcpy(out[0],in[i]);
else
{
for(j=0;j<n-1;j++)
if(strcmp(in[i],out[j])<0) break;
for(k=n-1;k>=j+1;k--)
strcpy(out[k],out[k-1]);
strcpy(out[j],in[i]);
}
}
}
for(i=0;i<n;i++)
printf("%s\n",out[i]);
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int N,n=0,i,j,k;
char in[10002][21],out[10002][21],temp[21],tou[21],*p;
scanf("%d",&N);
getchar();
for(i=0;i<N;i++)
gets(in[i]);
gets(tou);
for(i=0;i<N;i++)
{
p=strstr(in[i],tou);
if(p==in[i])
{
strcpy(out[n],in[i]);
n++;
}
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(out[j],out[k])<0) k=j;
if(k!=i)
{
strcpy(temp,out[k]);
strcpy(out[k],out[i]);
strcpy(out[i],temp);
}
}
for(i=0;i<n;i++)
printf("%s\n",out[i]);
return 0;
}
这个也是 不对#include<stdio.h>
#include<string.h>
int main()
{
int N,n=0,i,j,k;
char in[10002][21],temp[21],tou[21],*p;
scanf("%d",&N);
getchar();
for(i=0;i<N;i++)
gets(in[i]);
gets(tou);
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(strcmp(in[j],in[k])<0) k=j;
if(k!=i)
{
strcpy(temp,in[i]);
strcpy(in[i],in[k]);
strcpy(in[k],temp);
}
}
for(i=0;i<N;i++)
{
p=strstr(in[i],tou);
if(p==in[i])
printf("%s\n",in[i]);
}
return 0;
}
是这个意思么 怎么还是不对呢