Canadian Computing Competition: 2002 Stage 1, Junior #2
Americans spell differently from Canadians. Americans write neighbor
and color
while Canadians write neighbour
and colour
.
Write a program to help Americans translate to Canadian.
Your program should interact with the user in the following way. The
user should type a word (not to exceed 64 letters) and if the word
appears to use American spelling, the program should echo the Canadian
spelling for the same word. If the word does not appear to use American
spelling, it should be output without change. When the user types
quit!
the program should terminate.
The rules for detecting American spelling are quite naive: If the word
has more than four letters and has a suffix consisting of a consonant
followed by or
, you may assume it is an American spelling, and that
the equivalent Canadian spelling replaces the or
by our
. Note: you
should treat the letter y
as a vowel.
Sample Input
color
for
taylor
quit!
Sample Output
colour
for
taylour
Comments
For anyone struggling there's something that (I believe) is not clearly stated which is that for the rule to apply (change "or" to "our") the "or" must be at the END of the sentence
It is mentioned when it explains that the American word must contain a suffix with a consonant followed by "or".
I had mine first try, but was printing 'quit!' along side my output
don't do that! I was very confused.
instructor -> instructour (I'm not English native and based on my knowledge it doesn't exist 'instructour' word) but my answer is still accepted. If anyone can explain it that would be great. Thanks
Instructour is not actually a word.
"The rules for detecting American spelling are quite naïve:"
The program does not actually detect if words are real words. After all, you could potentially have a word 64 letters long. It is just detecting a sequence, and making the changes. So in this instance, correct answers are not necessarily real words. I hope that make sense for you.
Now if you see this, try and answer my question below please :D
Be careful, vowel+or still no need to change, like floor...
This comment is hidden due to too much negative feedback. Show it anyway.
I think you're too tripped over how American spelling really is. Pretend that this is the new way of American spelling; since it's a 3 pointer, they're not looking for anything complicated.
Can I assume the input is all lowercase letters?
What if the word has 2 "or"s???
it wont happen, according to the ccc test cases, but i believe the problem statement is clear enough