lostLX 2022-05-09 16:01 采纳率: 100%
浏览 42
已结题

关于#c语言#的问题:分别统计每行单词的长度和,并输出每行最长单词的内容(如果有多个等长单词则输出最先出现的那个单词)

输入一段文本,有若干行,每行里面有若干个单词,每行开头不是空格。分别统计每行单词的长度和,并输出每行最长单词的内容(如果有多个等长单词则输出最先出现的那个单词)。
最后1行仅有单词stop ,作为结束标记。
例如
输入:
My name is Amy
My name is Jane
stop
输出:
11 name
12 name

  • 写回答

1条回答 默认 最新

  • 树下等苹果 2022-05-09 16:38
    关注

    实现代码:

    
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    
        char s[200];
        while (gets(s) && strcmp(s, "stop")!=0)
        {
            char a[100][20] = { '\0' };
            int j = 0, k = 0, count = 0, max = 0, max_num, len, all = 0;
            len = strlen(s);  //计算字符串长度
            for (int i = 0; i < len; i++)
            {
                if (s[i] != ' ')
                {
                    a[j][k++] = s[i];
                    count++;  //单词的字母数
                }
                else
                {
                    j++;
                    k = 0;
                    if (max < count)
                    {
                        max = count;  //记录最长单词数
                        max_num = j - 1; //最长单词所在行
                    }
                    all += count;
                    count = 0;
                }
            }
            if (max < count)
            {
                max = count;  //记录最长单词数
                max_num = j; //最长单词所在行
            }
            all += count;
            count = 0;
            printf("%d\t", all);
            for (int i = 0; i < max; i++)
                printf("%c", a[max_num][i]);
            printf("\n");
        }
        
    }
    

    输入及输出:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月9日
  • 已采纳回答 5月9日
  • 创建了问题 5月9日

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型