码迷,mamicode.com
首页 > 其他好文 > 详细

笔试题3

时间:2015-05-26 16:21:23      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:笔试3

  1. C++有哪些数据类型?为什么long和int都是4字节?

    char、int、byte、short、long、long long、double、float

    struct

    对象类型

    long、int占多少字节,得看计算机cpu是多少位的。16位机器上,int2字节,long4字节,32位机器上二者都是4字节,64位机器上,int4字节,long8字节

    int是最基本的类型,一般要和cpu的自宽保持一致,保证效率。


  2. JAVA和C++的区别是什么?分别用在什么情景比较好?


  3. 编程题:给定一个文件每一行是字符串,找出所有的逆序对,比如abc和cba是逆序的对。

    答案如4所示。


  4. #include"iostream"
    #include"string"
    #define MAX 100
    using namespace std;
    bool check(string str1,string str2)
    {
        bool flag = true;
        for(int i=0; i<str1.length(); i++)
        {
            if(str1[i]!=str2[str1.length()-1-i])
            {
                flag = false;
                return flag;
            }
        }
        return flag;
    }
    int main(int argc, char* argv[])
    {
        string str[MAX];
        int n,a[MAX];
        bool flag[MAX];
        cin>>n;
        for(int i=0; i<n; i++)
        {
            cin>>str[i];
            a[i] = str[i].length();
            flag[i] = true;
        }
        int num = 0;
        for(int i=0; i<n; i++)
        {
            int len = a[i];
            if(flag[i]==true)
            {
                for(int j=0;j<n;j++)
                {
                    if(flag[j]==true&&len==a[j])
                    {
                        if(check(str[i],str[j]))
                        {
                            num++;
                            flag[i] = false;
                            flag[j] = false;
                            break;
                        }
                    }
                }
            }
        }
        for(int i=0; i<n; i++)
            cout<<str[i]<<‘\t‘;
        cout<<endl;
        cout<<"The Number of Matched String Is: "<<num<<endl;
        getchar();
        getchar();
        return 0;
    }
  5. 给定一个奇数n,比如n=3,生成1到n平方的数,如1到9,填入九宫格,使得横竖斜的和都相等。

    技术分享

  6.         C和C++有什么区别,能用C实现C++所有功能吗?C能实现多态吗?


  7. 逻辑题:25匹马,5条赛道,一匹马一个赛道,比赛只能得到5匹马之间的快慢程度,而不是速度,求决胜1,2,3名至少多少场。

  8. 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能。

#include <utility>
#include <string.h>
classString
{
public:
    String():data_(newchar[1])
    {
        *data_ = ‘\0‘;
    }
    String(const char * str):data_(newchar[strlen(str) + 1])
    {
        strcpy(data_, str);
    }
    String(const String & rhs)
        : data_(newchar[rhs.size() + 1])
    {
        strcpy(data_, rhs.c_str());
    }
    /* Delegate constructor in C++11
    String(const String& rhs):String(rhs.data_)
    {
    }
    */
    ~String()
    {
        delete[] data_;
    }
    /* Traditional:
    String& operator=(const String& rhs)
    {
        String tmp(rhs);
        swap(tmp);
        return *this;
    }
    */
    String &operator=(String rhs)// yes, pass-by-value
    {
        swap(rhs);
        return*this;
    }
    // C++ 11
    String(String &&rhs): data_(rhs.data_)
    {
        rhs.data_ = nullptr;
    }
    String &operator=(String && rhs)
    {
        swap(rhs);
        return*this;
    }
    // Accessors
    size_t size() const
    {
        return strlen(data_);
    }
    const char * c_str() const
    {
        return data_;
    }
    void swap(String & rhs)
    {
        std::swap(data_, rhs.data_);
    }
private:
    char *data_;
};


笔试题3

标签:笔试3

原文地址:http://yuzwei.blog.51cto.com/10126623/1655274

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!