【题目描述】
一个以‘.’结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输入】
一个以‘.’结尾的简单英文句子(长度不超过500),单词之间用空格分隔,没有缩写形式和其它特殊形式。
【输出】
该句子中最长的单词。如果多于一个,则输出第一个。
【输入样例】
I am a student of Peking University.
【输出样例】
University
【源代码】
#include <iostream>
using namespace std;char sentence[500] = {};
int main()
{cin.get(sentence, 500);int length = strlen(sentence);int sum = 0; // 单词长度;int max_sum = 0; // 最长的单词长度;int max_begin = 0; // 该单词下标起点;for (int i = 0; i < length; i++){if ((sentence[i] != ' ') && ((sentence[i] != '.'))){sum++;}else if ((sentence[i] == ' ') || (sentence[i] == '.')){if (sum > max_sum){max_sum = sum; // 更新最长长度;max_begin = i - sum; // 更新该单词下标起点;}sum = 0; // 重置单词长度;}}for (int i = max_begin; i < (max_begin + max_sum); i++){cout << sentence[i];}cout << endl;return 0;
}