//在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
#include<stdio.h>
#include<string.h>
int main()
{
//定义i用于循环for,len字符串的总长度,count计算一个单词的长度,max保存最大字符串的长度。frist保存最大字符串第一个字母的位置
int i = 0,len = 0,count = 0,max = 0,frist = 0;
//定义一个一位数组用于保存输入的字符串
char a[100] ;
//实现输入一句话
printf("请输入一句话,开头不空格\n");
gets(a);
//计算字符串的长度
len=strlen(a);
//遍历字符串
for(i=0;i<=len;i++)
{
//当字符串中没有遇到' '和'\0'就计数1,如果遇到则,判断是否最长字符串。
if(a[i]!=' '&&a[i]!='\0')
{
count++;
}
else
{
if(count>max)
{
max=count;
}
else
{
max=max;
}
//重置count保证下次计数。
count = 0;
}
}
printf("max = %d",max);
return 0;
}
问题是,我只能找出最长单词的长度,但是不知道如何定位最长单词的 第一个字母,所以打印不出来最长单词,求解答,谢谢 |
|