程序1:
#include<stdioh> main()
{ static char s[]={"you make me happy when days are grey"},t; int max=0,len=0; t=s;
while(t!='') { while(((t<='Z')&&(t>='A'))||((t<='z')&&(t>='a')))
{ len++;
t++;
}
if(max<len)
max=len;
len=0; t++; }
printf("max=%d",max); }
程序2:
#include <stdioh>
#include <ctypeh>
#include <stringh>
#define N 100
char maxlenword(char statement[],char maxword[]) {
int i = 0,j;
char word[N];
maxword[0] = '\0';
for(i = 0; statement[i]; i++) {
if(!isalpha(statement[i++])) continue;
--i;
j = 0;
while(statement[i] && isalpha(statement[i]))
word[j++] = statement[i++];
word[j] = '\0';
if(strlen(maxword) < strlen(word))
strcpy(maxword,word);
}
return maxword;
}
int main() {
char a[N] = {'\0'};
char b[N] = {'\0'};
printf("请输入字符串:\n");
gets(a);
maxlenword(a,b);
printf("最长单词长为:%d\n",strlen(b));
printf("最长单词为:\"%s\"\n",b);
return 0;
}
程序可以写成死循环的形式,以读到空行为退出循环的条件。循环中以打擂台的形式检测最长的字符串。
#include
#include
int main()
{ char s[500],max[50];
int i,j,m=0,n=0;
while(1)
{ gets(s);
if(strlen(s)==0)
break;
for(j=i=0; s[i]; i++)
{ while(s[i]&&s[i]!=' ')i++;
if(i-j>m)
{ m=i-j;
s[i]='\0';
strcpy(max,s+j);
s[i]=' ';
}
j=i+1;
if(!s[i])break;
}
}
puts(max);
return 0;
}
以上就是关于计算一个英文句子中最长单词的长度(字母个数)max.,全部的内容,包括:计算一个英文句子中最长单词的长度(字母个数)max.,、C语言读入一串字符行,以空行结束,要求输出其中最长的单词、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)