我創建了一個程序,要求用戶輸入5個記錄在字符串矢量中的名稱。之後程序應該抓住每個名字的第一個和最後一個字母並輸出它們。然而,我的程序在輸入名稱後很好地編譯,我沒有從程序中得到輸出。字符串矢量程序
任何人都可以幫助我解決此問題,以便它打印輸入的每個名稱的第一個和最後一個字符?
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> names;
char first_letter;
char last_letter;
string name;
int n = 0;
for (int i =0; i < 5; i++)
{
cout << " Please enter a name: ";
cin >> name;
names.push_back(name);
}
if (!names[n].empty())
{
first_letter = *names[n].begin();
last_letter = *names[n].rbegin();
cout << first_letter << " " << last_letter << endl;
n++;
}
return 0;
}
'矢量名(23);'使得它與23個空字符串開始,然後你把5個字符串到的是後面(共28 ),那麼你輸出第一個(它仍然是空白的)。建議取出'(23)' –
2014-11-25 04:50:16