字符串向量的程序
Program for a Vector of Strings
我创建了一个程序,要求用户输入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;
}
#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);
}
vector<string>::iterator itr = names.begin();
for(;itr!=names.end();itr++)
{
first_letter = *itr[n].begin();
last_letter = *itr[n].rbegin();
cout << first_letter << " " << last_letter << endl;
}
return 0;
}
您已将其作为 if 语句输入。将其更改为 while 循环
while ( !names[n].empty() )
{
first_letter = *names[n].begin();
last_letter = *names[n].rbegin();
std::cout << first_letter << " " << last_letter << endl;
n++;
}
相关文章:
- 在遍历处理程序的向量时注册和注销处理程序
- 为什么程序在 c++ 中迭代 emtpy 向量时会抛出运行时错误
- 全局向量导致 C++ 程序结束时出现段错误
- 读/写 OpenMP 中的共享向量会减慢程序速度
- 是否有可能让 c++ dll 在后台运行 python 程序并让它填充向量图?如果是这样,如何?
- 加入向量的所有线程后,程序不稳定,而不是退出
- DLL – 在 DLL 初始化时填充的静态向量,向客户端程序返回零大小
- C++程序中的向量 std::bad_alloc 错误
- 当我尝试将一个向量元素的值分配给另一个向量元素时,为什么我的应用程序会崩溃
- 如何在以下程序中分配向量
- 如何制作一个为程序的每个运行中存储不同数据类型的向量
- C++联系人处理程序与自己的动态模板向量类
- C++ 尝试向类内的数组(或向量)添加值时程序崩溃
- 为什么当我将真或假分配给布尔类型的向量时,下面的程序给我错误?
- 试图删除最后一个std ::向量元素时,程序会崩溃
- 当程序输入主要功能时,为什么要清除此std ::向量
- 程序崩溃,说向量不超出范围异常
- 程序必须将奇数索引元素放在新的向量 C 中,将偶数索引元素放在另一个向量 T 中
- 使用向量的 C++ 程序中的分割错误
- 我的程序没有运行,多维向量函数