在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。(C语言)
#include<stdio.h>
int main()
{
char str[];
char *p;
printf("请输入单词:\n");
scanf("%s",str);
c=sizeof(str[]);//计算字符串长度
int b=0,temp=0,c=0;//分别表示一个单词的长度、最长单词的长度、c是最长单词末尾在字符串的位置
for(int i = 0,i < c,i++)//
{
while(str[i] == ' ')//判断是否元素空格
{
if(temp < b)//找出最长单词的长度
{
temp = b;//找出最长单词的字节数
c=i//c是最长单词末尾在字符串的位置
}
b = 0;//遇到空格就将前面单词的字节数置0
}
if( str[i] == '\0')//判断是否还有单词
{
int j = c-temp;//最长单词的首字母在字符串的位置
for(j,j < c,j++)
{
p = scanf(str[j]);//将最长单词存储到指针p
}
printf("最长的单词是%s长度为%d",p,b);
}
b++;
}
return 0;
}
|
|