UVa 12543 - Longest Word
阿新 • • 發佈:2019-01-06
題目
統計一個文字中的最長的單詞,單詞中可以有連詞符。
分析
按順序判斷統計即可。
說明
還沒搶到回家的票,ε=(´ο`*)))唉。
#include <stdio.h>
#include <string.h>
int is_alphabet(char c)
{
return c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z';
}
int main() {
char buf[10001 ], ans[101];
int max_length = 0;
while (~scanf("%s", buf) && strcmp(buf, "E-N-D")) {
int index = 0, count = 0, start = 0;
for (int i = 0; buf[i]; ++ i) {
if (is_alphabet(buf[i]) || buf[i] == '-') {
count ++;
} else {
if (max_length < count) {
max_length = count;
for (int j = start; j < i; ++ j) {
if (buf[j] >= 'A' && buf[j] <= 'Z') {
ans[j - start] = buf[j] - 'A' + 'a';
}else {
ans[ j - start] = buf[j];
}
ans[j - start + 1] = 0;
}
}
count = 0;
start = i+1;
}
}
if (max_length < count) {
max_length = count;
for (int j = start; buf[j]; ++j) {
if (buf[j] >= 'A' && buf[j] <= 'Z') {
ans[j - start] = buf[j] - 'A' + 'a';
} else {
ans[j - start] = buf[j];
}
ans[j - start + 1] = 0;
}
}
}
printf("%s\n", ans);
return 0;
}