写一程序,输入一行字符,将此字符串中最长的单词输出的问题
#include <stdio.h>
main()
{
int alphabetic(char);
int longest(char []);
int i;
char line[100];
printf("Input one line:\n");
gets(line);
printf("The longest word is :");
for(i=longest(line);alphabetic(line[i]);i++)
printf("%c",line[i]);
printf("\n");
}
int alphabetic(char c)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
return(1);
else
return(0);
}
int longest(char string[])
{
int len=0,i,length=0,flag=1,place=0,point;
for(i=0;i<=strlen(sting);i++) /*若结束条件改为string[i]!='\0'就出现问题*/
if(alphabetic(string[i]))
if(flag)
{
point=i;
flag=0;
}
else
len++;
else
{
flag=1;
if(len>=length)
{
length=len;
place=point;
len=0;
}
}
return(place);
}
大家帮我看看longest函数循环结束条件 个人认为for(i=0;i<=strlen(sting);i++)和for(i=0;string[i]!='\0';i++)实现的功能是一样的
main()
{
int alphabetic(char);
int longest(char []);
int i;
char line[100];
printf("Input one line:\n");
gets(line);
printf("The longest word is :");
for(i=longest(line);alphabetic(line[i]);i++)
printf("%c",line[i]);
printf("\n");
}
int alphabetic(char c)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
return(1);
else
return(0);
}
int longest(char string[])
{
int len=0,i,length=0,flag=1,place=0,point;
for(i=0;i<=strlen(sting);i++) /*若结束条件改为string[i]!='\0'就出现问题*/
if(alphabetic(string[i]))
if(flag)
{
point=i;
flag=0;
}
else
len++;
else
{
flag=1;
if(len>=length)
{
length=len;
place=point;
len=0;
}
}
return(place);
}
大家帮我看看longest函数循环结束条件 个人认为for(i=0;i<=strlen(sting);i++)和for(i=0;string[i]!='\0';i++)实现的功能是一样的
...全文
相关推荐
c 语言写的求一行字符串中单词长度最大的那个单词
这是用C语言写完整的切割字符串中的单词,并求出单词长度最长的单词, 源代码很详细,欢迎指正
在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
查找字符串最长的单词
对输入的字符串进行分析,并返回字符串中最长的单词及其长度
求一个句子中最长的单词
• Description 输入一个英文句子,长度不超过40个字符。编写程序,输出句子中最长的一个单词。 • Input 长度不超过40的字符串 • Output 句中最长的单词 • Sample Input This is a test sentence • Sample Output sentence • Hint 1.输入只有一个句子,不需使用while 2.若句尾有标点,则标点和最后一个单词可看成是一个单词,可以不用作额外判断 3.假设句中最长的单词只有一个
输入一个字符串,将输出该字符串最长对称子串及其长度
输入一个字符串,将输出该字符串最长对称子串及其长度,很精巧的算法


