首页 > 代码库 > C++ Primer(第四版) 课后习题3.14
C++ Primer(第四版) 课后习题3.14
问题:
读入一段文本到 vector 对象,每个单词存储为 vector 中的一个元素。把 vector对象中
每个单词转化为大写字母。输出 vector 对象中转化 后的元素,每 8 个词为一行输出。
代码:
1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8 cout<<"输入一段文本(Ctrl + Z 结束):"<<endl; 9 vector<string> vecStr;10 string word;11 while (cin>>word)12 {13 vecStr.push_back(word);14 }15 if (vecStr.size() == 0)16 {17 cout<<"没有输入字符串"<<endl;18 return -1;19 }20 for (vector<string>::size_type i = 0; i < vecStr.size(); i++)21 {22 for (string::size_type j = 0; j < vecStr[i].size(); j++)23 {24 vecStr[i][j] = toupper(vecStr[i][j]);25 }26 cout<<vecStr[i]<<" "; 27 if ((i+1) % 8 == 0)28 {29 cout<<endl;30 }31 }32 return 0;33 }
总结:
(1)vector<type>,string的方法size返回值类型为vector<type>::size_type和string::size_type;
(2)多次读取输入数据使用while(cin>>str){};
(3)判断vector是否为空,良好的编程习惯;
(4)string自带的转换大小写的方法,toupper(c),tolower(c);
(5)使用((i +1)% 8)== 0 判断换行,形式简洁。
C++ Primer(第四版) 课后习题3.14
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。