刚才做OJ上一道题,一直是Wrong answer,求助。
这是题目:
Description
The blonde Angela has a new whim: internet chats. Of course, as any blonde, she writes her messages using the upper case. You are the moderator of Angela's favorite chat and you're fed up with her upper-case messages. The problem is that Angela does not respond to your warnings. You decided to write a simple antiCAPS corrector, which would make Angela's messages readable.
The correction rules are very simple:
Sentences in a message consist of words, spaces and punctuation marks.
Words consist of English letters.
Sentences end with a full stop, exclamation mark, or question mark.
The first word of each sentence must start with a capital letter, and all other letters of the sentence must be lowercase.
Input
You are given Angela's message, which consists of uppercase English letters, spaces, line breaks and punctuation marks: full stops, commas, dashes, colons, exclamation and question marks. Total length of message is not exceeding 10000 symbols.
Output
Output the corrected message.
Sample Input
HI, THERE!
HOW DID YOU KNOW I AM A BLONDE?
Sample Output
Hi, there!
How did you know i am a blonde?
这是我实现的代码,我自己运行测试了很多数据都没问题,但提交就是wrong,请大家看看有什么不妥。
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main()
{
char input[10000];
cin.get(input,10000,EOF);
input[0]=toupper(input[0]);
for(int i=1;input[i]!=EOF;++i)
{
if (input[i]=='!'||input[i]=='.'||input[i]=='?')
{
do {
i++;
} while(!isalpha(input[i]));
input[i]=toupper(input[i]);
}
else
{
input[i]=tolower(input[i]);
}
}
cout<<input<<endl;
return 0;
}
这是OJ后台给出的信息:
Test # 1..... Accepted
Use Time 0ms, Use Memory 56KB
Test # 2..... Accepted
Use Time 0ms, Use Memory 56KB
Test # 3..... Accepted
Use Time 4ms, Use Memory 56KB
Test # 4..... Accepted
Use Time 0ms, Use Memory 60KB
Test # 5..... Accepted
Use Time 4ms, Use Memory 56KB
Test # 6..... Wrong Answer
Use Time 0ms, Use Memory 56KB
The Result is Wrong Answer.
Terminated On Test #6
Use Time 8ms, Use Memory 60KB