XDOJ最长单词的长度

//试题名称 最长单词的长度
//时间限制: 1 秒
//内存限制: 256KB
//
//问题描述
//给定一个英文句子,统计这个句子中最长单词的长度,并在屏幕上输出。
//
//输入说明
//从键盘输入一个英文句子,句子中只含有英文字符和空格,句子以’.’结束。句子总长不超过100个字符。
//
//输出说明
//输出一个整数,表示这个句子中最长单词的长度。允许句子中有相同长度的单词。
//
//输入样例
//输入样例1
//I am a student.
//输入样例2
//The cat gets a job.
//
//输出样例
//输出样例1
//7
//输出样例2
//4

#include <stdio.h>

int main()
{
    
    
    int max = 0, number = 0, i, word = 0;
    char a[100];
    
    // 读取输入字符串
    gets(a);
    
    // 遍历字符串中的每个字符
    for (i = 0; a[i] != '\0'; i++) {
    
    
        if (a[i] == ' ' || a[i] == '.') {
    
       // 如果当前字符是空格或句号
            if (number > max) {
    
                 // 更新最大单词长度
                max = number;
            }
            number = 0;                      // 重置单词长度
            word = 0;                        // 标记单词结束
        } else if (word == 0) {
    
                 // 如果当前字符是单词的第一个字符
            word = 1;                       // 标记单词开始
            number++;                       // 增加单词长度
        } else if (word == 1 && a[i] != '.') {
    
     // 如果当前字符是单词的其他字符
            number++;                       // 增加单词长度
        }
    }
    
    // 输出最大单词长度
    printf("%d", max);

    return 0;
}

这道题本来是要求用指针做的,不过没办法了,做指针的题就害怕,顺便说一下灵感来自单词计数

猜你喜欢

转载自blog.csdn.net/weixin_50925658/article/details/111321357