15,440
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
void sr(int s2,char *s1[s2]);
int main()
{
int size=0,a=0;
printf("How many words do you wish to enter:");
scanf("%d",&size);
char *ptr[size];
printf("Enter %d words now:\n",size);
sr(size,ptr);
printf("Here are your words:\n");
for(a=0;a<size;a++)
{
printf("%s\n",ptr[a]);
free(ptr[a]);
}
return 0;
}
void sr(int s2,char *s1[s2])
{
char ls[40];
int a=0,b=0,d=0,inword=0;
int c[s2];
fgets(ls,40,stdin);
while(ls[a]!='\0')
{
if(ls[a]!=' ')
{
inword=1;
b++;
}
if(ls[a]==' '&&inword==1)
{
inword=0;
if(b!=0)
c[d++]=b;
b=0;
}
a++;
}
for(a=0;a<s2;a++)
s1[a]=(char *)malloc(c[a]*sizeof(char));
b=d=0;
for(a=0;a<s2;a++)
{
for(b=0;b<c[a];b++)
{
s1[a][b]=ls[d++];
if(ls[d]==' ')
d++;
}
}
}