输入一个英文句子,要求将每个单词的首字母改成大写字母。
输入格式:
测试数据有多组,处理到文件尾。每组测试输入一行,包含一个长度不超过100的英文句子(仅包含大小写英文字母和空格),单词之间以一个空格间隔。
输出格式:
对于每组测试,输出按照要求改写后的英文句子。
输入样例:
I like acm
i want to get Accepted
输出样例:
I Like Acm
I Want To Get Accepted
出处:HDOJ 2026
代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char sentence[100];
while (fgets(sentence, 100, stdin) != NULL) {
int i = 1;
sentence[0] = toupper(sentence[0]);
putchar(sentence[0]);
while (sentence[i] != '\0') {
if (isalpha(sentence[i]) && (sentence[i - 1] == ' ')) {
sentence[i] = toupper(sentence[i]);
}
putchar(sentence[i]);
i++;
}
}
return 0;
}
以上代码理论完全正确,与pta上答案逻辑一致,但却答案错误(应该是库的问题)