求救!!c语言,输入一串字符,假设字符串只有字母和空格,空格用来分隔不同单词,找出其中最大的单词

输入一串字符,假设字符串只有字母和空格,空格用来分隔不同单词,找出其中最大的单词。例如:
输入:How are you
输出:you

#include<stdio.h>
#include<string.h>
main()
{
char s[1000]={0},a[20]="",b[20]={0};//a中保存最大字符串,一开始为空
int k=0;
gets(s);
for(int i=0;i<strlen(s);i++)
{
if(s[i]!=' ')
b[k++]=s[i];//把每一个单词拿出来、
if(s[i]==' '||i==strlen(s)-1)
{
b[k]=0;
k=0;
if(strcmp(a,b)<0)//比较单词大小,若,a<b,把b赋值给a.
strcpy(a,b);
}
}
puts(a);
return 0;
}
望采纳,
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-24
#include <stdio.h>
int main() {
int i,len = 0,maxlen = 0;
char *p,*pt,s[1024],subs[100];
printf("请输入字符串: ");
gets(s);
for(pt = s;*pt != '\0';pt++) {
if(*pt != ' ') len++;
else {
if(len > maxlen) {
maxlen = len;
p = pt - len;
}
len = 0;
}
}
//计算回车前的单词
if(len > maxlen) {
maxlen = len;
p = pt - len;
}
for(i = 0;i < maxlen;i++) subs[i] = *(p + i);
subs[maxlen] = '\0';
printf("最长的英文词是:%s,其长度是:%d个字符。\n\n",subs,maxlen);
return 0;
}本回答被网友采纳
第2个回答  2013-04-24
I'M shit
shit
第3个回答  2013-04-24
找出其中最大的单词 是啥意思 是最长的吗?追问

是ASCII码值最大的

相似回答