首页 > 其他 > 详细

第三章

时间:2020-04-24 10:53:47      阅读:49      评论:0      收藏:0      [点我收藏+]

3.2

getline(cin,s);
    cin>>s;

3.3

string类的输入运算符 碰到空白符会终止当前输入 ,而getline会将空白字符当做普通字符输入

3.4

string s,s2;
    cin>>s>>s2;
    if(s>=s2)
        cout<<s<<endl;
    else{
        cout<<s2<<endl;
    }

3.5

    string s,s1;
    while(cin>>s){
        s1+=(s+" ");
    }
    cout<<s1<<endl;

 3.6

string s="ceshi";
    for(auto&c:s){
        c=x;
    }    
    cout<<s<<endl;

3.7

没有影响

3.8

三者实现的结果一样,while循环和for循环需要知道字符串的长度,而范围不需要

3.9

不正确,会产生未定义的行为,发生越界

3.10

string s="dada.dafd,dds";
    for(auto&c:s){
        if(!ispunct(c))
            cout<<c;
    }

3.11

不合法,当在循环中要改变c得值时,c的类型为const string&

3.12

1.正确 2.类型不符 3.正确

3.13

1.0 2.10个元素 值为0 3.10个元素 值为42 4.1一元素,值为10 5.2个元素, 6.10个元素  7.10个元素 为hi

3.14

vector<int> temp;
    int i;
    while(cin>>i){
        temp.push_back(i);
    }

3.15

vector<string> temp;
    string i;
    while(cin>>i){
        temp.push_back(i);
    }

3.16

vector<string>v{10,"hi"};
    for(auto &s:v){
        cout<<s;
    }
    for(int i=0;i<v.size();i++)
        cout<<v[i];

3.17

string s;
    vector<string>v;
    while(cin>>s){
        
        for(auto&c:s)
            c=toupper(c);
        v.push_back(s);
    }
    
    for(auto i:v)
        cout<<i<<endl;
         //toupper
        

 3.18

不合法,不能直接用下标给对象赋值,可能会访问未被定义的值,造成严重后果,

改用push_back();//该用法会引发一个内在的隐藏函数,扩大容器内存。

3.19

vector<int>v(10,42);
    vector<int>v1
    for(i=0;i<10;i++)
        v1.push_back(42);

3.20

vector<int>svec;
    int i;
    while(cin>>i){
        svec.push_back(i);
    }
    for(int i;i<svec.size()-1;i++){
        cout<<(svec[i]+svec[i+1])<<endl;
    }
vector<int>svec;
    int i;
    while(cin>>i){
        svec.push_back(i);
    }
    for(int i;i<svec.size()-1;i++){
        cout<<(svec[i]+svec[svec.size()-1-i])<<endl;
    }

 

第三章

原文:https://www.cnblogs.com/Zero-0/p/12764837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!