我试图在c ++编程网站上使用在线标记。代码在我的电脑上正常运行。但是,该站点反复出现编译错误,吐出这些语法错误:
/data/grader/2/81322/compile/source.cc:在函数 intmain() : /data/grader/2/81322/compile/source.cc:16:错误:在 : 令牌之前的预期初始化程序 /data/grader/2/81322/compile/source.cc:45:错误:在输入结束时预期的primary-expression /data/grader/2/81322/compile/source.cc:45:错误:预期 ; 在输入结束时 /data/grader/2/81322/compile/source.cc:45:错误:在输入结束时预期的primary-expression /data/grader/2/81322/compile/source.cc:45:错误:预期 ) 输入结束 /data/grader/2/81322/compile/source.cc:45:错误:输入结束时的预期语句 /data/grader/2/81322/compile/source.cc:45:错误:预期 } 输入结束 /data/grader/2/81322/compile/source.cc:45:错误:预期 } 在输入结束时
#include <iostream>
#include <string>
using namespace std;
int main()
{
char vowels[] = { 'a', 'e', 'i', 'o', 'u' };
string word;
string newWord;
getline(cin, word);
for (int i = 0; i < (int)word.length(); i++) {
bool vowel = false;
char closest = 'z';
int close = 200;
for (char &n : vowels) {
if (n == word[i]) {
vowel = true;
break;
}
else if (abs(n-word[i]) < close) {
closest = n;
close = abs(n - word[i]);
}
}
newWord += word[i];
if (!vowel) {
newWord += closest;
if (word[i] == 'z') {
newWord += 'z';
break;
}
char next = word[i]+1;
for (char n : vowels) {
if (n == next) {
vowel = true;
break;
}
}
newWord += ((vowel) ? word[i] + 2:next);
}
}
cout << newWord << endl;
//system("pause");//remove
}
对C ++不熟悉,我似乎无法理解这一点。 提前谢谢。