c语言中 求 :输入一段英语,输入一个单词 输出 这个单词是第几个,比如: you are good 输入good ,输出3!

c语言中 求 :输入一段英语,输入一个单词 输出 这个单词是第几个,比如: you are good 输入good ,输出3!求助!!

#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char s[500],w[50],t[50];
int l,rl,n;
gets(s);
gets(w);
l=strlen(s);
rl=n=0;
while(rl<l)
{
if(sscanf(s+rl,"%s",t)!=1)break;
n++;
if(!strcmp(w,t))
{
printf("%d\n",n);
break;
}
rl+=strlen(t);
while(isblank(s[rl]))rl++;
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-18
请高手进
等待……
第2个回答  2011-06-18
you
are
good
句子【you are good】有3个单词。单词good是第3个单词。
Press any key to continue

不好意思 写得有失水准~~ 见笑了 我匿名吧
#include "stdio.h"
#include "string.h"

main()
{
int i,j,k=0,num=0,Len;
char b[100][20];
char s[] ="good";
char a[]="you are good";
Len = strlen(a);

for (i=0,j=0,k=0;i<Len+1;i++)
{
if (a[i]=='\0')
{
b[j][k]='\0';
}
if (a[i]==' ')
{
b[j][k]='\0';
k=0;
j++;
}
if (a[i]!='\0' && a[i]!=' ')
{
b[j][k]=a[i];
k++;
}
}
for (i=0;i<Len;i++)
{
if (a[i]==' ')
{
num++;
}
}
for (i=0;i<num+1;i++)
{
for (j=0;b[i][j]!='\0';j++)
{
printf("%c",b[i][j]);
}
printf("\n");
}
for (i=0;i<num+1;i++)
{
for (j=0;b[i][j]!='\0';j++)
{
if(b[i][j]==s[0] && b[i][j+1]==s[1] && b[i][j+2]==s[2] && b[i][j+3]==s[3])
{
printf("句子【%s】有%d个单词。单词%s是第%d个单词。\n",a,num+1,s,i+1);
}
}
}
}
第3个回答  2011-06-20
#include <stdio.h>
int main()
{
char a[1000],b[1000],c[1000];
scanf("%s%s%s",a,b,c);
printf("%s%s%s",c,b,a);
getchar();
return 0;
}
相似回答