• C++ 实验五


    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    
    // 函数声明 
    void output1(vector<string> &);  
    void output2(vector<string> &);  
    
    int main()
    { 
        vector<string>likes, dislikes; // 创建vector<string>对象likes和dislikes
        
        // 为vector<string>数组对象likes添加元素值 ( favorite book, music, film, paintings,anime,sport,sportsman,etc) 
        // 补足代码 
        likes.push_back("basketball");
        likes.push_back("Windfall") ;
        likes.push_back("Xenogenesis");
        
        cout << "-----I like these-----" << endl;
        // 调用子函数输出vector<string>数组对象likes的元素值 
        output1(likes);
    
        
        
        // 为vector<string>数组对象dislikes添加元素值 
        // 补足代码 
        dislikes.push_back("one");
        dislikes.push_back("two");
        dislikes.push_back("four");
        
        cout << "-----I dislike these-----" << endl;
        // 调用子函数输出vector<string>数组对象dislikes的元素值 
        // 补足代码
        output1(dislikes);
        
        
        // 交换vector<string>对象likes和dislikes的元素值 
        // 补足代码
        likes.swap(dislikes);
        
        
        cout << "-----I likes these-----" << endl;
        // 调用子函数输出vector<string>数组对象likes的元素值 
        // 补足代码
        output2(likes); 
        
        cout << "-----I dislikes these-----" << endl;
        // 调用子函数输出vector<string>数组对象dislikes的元素值 
        // 补足代码
        output2(dislikes);
            
                            
        return 0;
    }
    
    
    // 函数实现 
    // 以下标方式输出vector<string>数组对象v的元素值  
    void output1(vector<string> &v) {
        // 补足程序
        for(int i=0;i<v.size();i++)
        cout<<v[i]<<endl;
        cout<<endl;
    }
    
    // 函数实现
    // 以迭代器方式输出vector<string>数组对象v的元素值  
    void output2(vector<string> &v) {
        // 补足程序
        for(vector<string>::iterator iter=v.begin();iter!=v.end();++iter)
        cout<<*iter<<endl;
        cout<<endl;
    }

     6-17

    #include <iostream>
    using namespace std;
    
    int main() {
        int *p;
        p =new int(9);
        cout << "The value at p: " << *p;
       delete p;
    return 0; }

    指针是指向一个地址的,其本身没有意义,直接赋值并没有分配内存空间给它,所以用new申请内存空间来存放这个值//应该是这样吧--

    6-18

    #include <iostream>
    using namespace std;
    
    int fnl() {
        int *p=new int(5);
        return *p;
        delete p;
    }
    int main() {
        int a = fnl();
        cout << "The value of a is: " << a;
        system("pause");
        return 0;
    }

    内存泄漏,用delete释放

    #include<iostream>
    #include<cstdlib>
    #include<time.h>
    using namespace std;
    class Dice {
    public:
        Dice(int n);
        int cast();
    private:
        int sides;
    
    };
    
    Dice::Dice(int n) :sides(n) {}
    
    int Dice::cast() {
        return rand() % sides + 1;
    }
    
    int main() {
        Dice num(40);
        srand(time(NULL));
        int temp;
        int count = 0;
        for (int i = 0; i < 500; i++) {
            temp = num.cast();
            if (temp == 6)
                count++;
    
        }
        cout << count / 500.0 << endl;
        system("pause");
        return 0;
    }

    ran是伪随机,所以用了<time.h>当前时间作为种子,算是比较像真随机吧。

  • 相关阅读:
    测试开发进阶之路,2020 我们砥砺同行!
    【上海/北京/杭州】七牛云工程效率部直聘
    测试开发基础|一文搞定计算机网络(一)
    点点点工程师真的要被淘汰吗?
    电商性能测试实战 | JMeter 插件 Ultimate Thread Group 完成梯度递增场景的压测
    将H264与AAC打包Ipad可播放的TS流的总结
    Ubuntu阿里云搭建Mono.net环境
    利用正则表达式排除特定字符串
    你敢不敢不要让我这么忙
    离我而去的附录H
  • 原文地址:https://www.cnblogs.com/nuo26/p/9078322.html
Copyright © 2020-2023  润新知