我把你的程序在我的电脑上运行了一遍,neat.txt文件中输出结果是:Are yOU tHE best oNe? oNe?你的这个程序的逻辑错了,你想得到的是Are you the best one,可是每次while循环的时候处理一个单词,只是把第一个字母变成了小写,后面的字母都不处理,所以是这样个结果。循环的每一次,读入一个单词,你都是处理str.at(0),就是单词的第一个字母,后面的字符不管,问题出在这里。你应该是在循环内部再写一个循环,遍历整个单词进行处理,这样就对了。