zxxrrr @ 2017-09-27 02:07:13
0分代码如下:
#include <iostream>
#include <string>
using namespace std;
void move(int n, string &str)
{
for(int i = 0; i < str.length(); i++)
{
while(n < 0)
n += 26;
str[i] = (char)((str[i] + n - 'a') % 26 + 'a');
}
}
int main()
{
int n;
string n, id;
cin >> n;
fflush(stdin);
//最初这里写的是getchar();,显示Too many or too few lines.,换成刷新缓存区后错误变成了On line 1 column 1, read ^, expected d.
getline(cin, id);
move(n, id);
cout << id;
return 0;
}
后来我把输入那个地方改成了两个string型,都用getline就AC了,以下是AC的main函数代码:
int main()
{
string n, id;
getline(cin, n);
getline(cin, id);
move(stoi(n), id);
cout << id;
return 0;
}
前两种方式自己测试感觉并没有什么问题,为什么无法通过?
by normal @ 2017-10-03 21:57:12
呵呵