这些换行有的是 \n 有的是 \r,一定要两个都判一下:
60 分:
#include <bits/stdc++.h>
using namespace std;
vector <string> v;
string a, b;
int f = 1;
string read()
{
string str;
char c;
while(c != ' ')
{
c = getchar();
if(c == '\n')
{
f = 0;
break;
}
if(c != ' ')
str += c;
}
return str;
}
int main()
{
while(1)
{
string str;
str = read();
v.push_back(str);
if(f == 0)
break;
}
cin >> a >> b;
for(int i = 0; i < v.size(); i = i + 1)
{
if(v[i] == a)
cout << b;
else
cout << v[i];
cout << " ";
}
return 0;
}
100 分:
#include <bits/stdc++.h>
using namespace std;
vector <string> v;
string a, b;
int f = 1;
string read()
{
string str;
char c;
while(c != ' ')
{
c = getchar();
if(c == '\n' || c == '\r')
{
f = 0;
break;
}
if(c != ' ')
str += c;
}
return str;
}
int main()
{
while(1)
{
string str;
str = read();
v.push_back(str);
if(f == 0)
break;
}
cin >> a >> b;
for(int i = 0; i < v.size(); i = i + 1)
{
if(v[i] == a)
cout << b;
else
cout << v[i];
cout << " ";
}
return 0;
}