任务描述
题目描述:输入一段字符(只含有空格和字母,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。
相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。
输入
输入一段文字
输出
输入一段字符,以stop作为最后输入的字符串。
测试说明
样例输入:
My name is Amy
My name is Jane
stop
样例输出:
11 name
12 name
提示:
字符串长度不超过100。
**注意:使用gets()函数会引起警告,但正确使用不影响测评结果。
推荐使用:fgets()函数。**
开始你的任务吧,祝你成功!
代码
#include<stdio.h>
#include<string.h>
int main()
{
char a[1002];
int i, j, k, l, left, right, max, count, count1;
while (gets(a) && a[0] != ‘s’)
{
max = -1;
count = 0;
count1 = 0;
l = strlen(a);
for (i = 0; i < l; i++)
{
if (a[i] != ’ ')count++;
}
for (i = 0; i < l; i++)//记录用空格分开的哪个最大
{
if (a[i] != ’ ‘)
{
count1++;
if (count1 > max)
{
max = count1;
left = i - count1 + 1;//左标
right = i;//右标
}
}
else//a[i]=’ ’
{
count1 = 0;
}
}
printf("%d “, count);
for (i = left; i <= right; i++)
{
printf(”%c", a[i]);
}
printf("\n");
}
}