XDOJ最长单词的长度

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

#include 

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;
}

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

你可能感兴趣的:(xdoj,c语言,指针)