zoukankan      html  css  js  c++  java
  • C++ Primer(第四版) 课后习题3.14 vector单词转大写

    问题:

      读入一段文本到 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 }
    View Code

    总结:

      (1)vector<type>,string的方法size返回值类型为vector<type>::size_type和string::size_type;

      (2)多次读取输入数据使用while(cin>>str){};

      (3)判断vector是否为空,良好的编程习惯;

      (4)单个字符转换大小写的方法,toupper(c),tolower(c);

      (5)使用((i +1)% 8)== 0 判断换行,形式简洁。

  • 相关阅读:
    zju 2886
    zju 2478
    UVA350-水题
    UVA699-落叶-二叉树
    UVA327
    UVA548
    java环境变量
    synchronized关键字
    uva297
    UVA196
  • 原文地址:https://www.cnblogs.com/gis-flying/p/4214136.html
Copyright © 2011-2022 走看看