C语言:头歌字符串统计

任务描述

题目描述:输入一段字符(由空格、字母和数字几种组成,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。

相关知识(略)
编程要求

请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充。 输入 输入一段文字 输出 输入一段字符,以stop作为最后输入的字符串。

#include<string.h>
int main()
{
    int i, length;
    char str[100];
    int j = 0;//记录最长字符后的那一个空格所在的下标
    while (1)//一直要输入字符,不知道结束,
    {
        gets(str);
        int a = 0;//用来记录总的字符数
        int b = 0;//用来记录每个单词的字母数
        int max = 0;//记录最长单词字母数,刚开始没有输入字符,就是0;
        length = strlen(str);
        if (strcmp(str, "stop") == 0)//与字符串“stop”做对比,如果一样则为0
        {
            break;//输入stop时,跳出循环
        }
        else
        {
            for (i = 0; i <= length; i++)
            {
                if (str[i] != ' ' && str[i] != '\0')
                {
                    a++;
                    b++;
                }
                //遇到空格,前后两个字符串的分开
                if (str[i] == ' ' || str[i] == '\0')
                {
                    if (b > max)//b统计好了每个字符串数,轮流与max对比
                    {
                        max = b, j = i;//j=i,把最长字符串后的那个空格的下标给j;
                    }
                    b = 0;
                }
 
            }
        }
        printf("%d ", a);
        for (i = j - max; i < j; i++)//i=j-max就是最长字符串第一个字符的下标
        {
            putchar(str[i]);
        }
        printf("\n");
    }
 
    return 0;
}

参考文章:C语言基础:头歌作业题(字符串统计)_头歌分类统计字符个数-CSDN博客

微量修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值