| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1556 人关注过本帖
标题:面试题大家试试
只看楼主 加入收藏
战士
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:147
专家分:0
注 册:2006-2-19
收藏
 问题点数:0 回复次数:7 
面试题大家试试
1、用一个类实现两个数组相加,例如数组a=b+c;就是响应位置的数相加等于响应的另外一个数组的元素。
2、读取一个文件中的数据,并且排序,求出第500个小的数。
3、替换字符串中的\t为4个*。
4、char占内存几个字节?
5、请解释线程和进程的区别,别说明什么时候用多进程效率高,什么时候单线程效率高。
6、请解释虚基类,并说明怎么应用。
剩下的输出结果的题太难打出来。有时间再给大家发了。
搜索更多相关主题的帖子: 内存 面试 效率 进程 单线程 
2008-07-13 15:13
linren
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-12-11
收藏
得分:0 
2、读取一个文件中的数据,并且排序,求出第500个小的数。

[bo]程序:[/bo]
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

int main ()
{
    vector<int> a;
    int at;

    ifstream in("data.txt",ios::binary);
    while(in.read((char *)&at,sizeof at))
    {
        a.push_back(at);
    }
    in.close();

    sort(a.begin(),a.end());
    cout<<a[500-1]<<endl;

    return 0;
}

生活就是一个七日接着又一个七日
2008-07-13 21:46
linren
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-12-11
收藏
得分:0 
3、替换字符串中的\t为4个*。

[bo]程序:[/bo]
#include <iostream>
#include <string>
using namespace std;

int main ()
{
    string s;
    s+="abcd";
    s+='\t';
    s+="12345";
    s+='\t';
    s+="@$$%^$%#";
    cout<<s<<endl;

    int l=s.find('\t');
    while(l!=string::npos)
    {
        s.replace(l,1,"****");
        l=s.find('\t',l+4);
    }

    cout<<s<<endl;
    return 0;
}

生活就是一个七日接着又一个七日
2008-07-13 22:49
linren
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-12-11
收藏
得分:0 
1、用一个类实现两个数组相加,例如数组a=b+c;就是响应位置的数相加等于响应的另外一个数组的元素。

[bo]程序:[/bo]
#include <iostream>
using namespace std;

class A
{
public:
    void add(int c[],const int a[],const int b[],const int n);
};

void A::add(int c[],const int a[],const int b[],const int n)
{
    for(int i=0;i<n;i++)
        c[i]=a[i]+b[i];
}

int main ()
{
    int a[3]={1,2,3};
    int b[3]={2,1,5};
    int c[3];

    A op;
    op.add(c,a,b,3);

    cout<<c[0]<<", "<<c[1]<<", "<<c[2]<<endl;

    return 0;
}

生活就是一个七日接着又一个七日
2008-07-13 23:25
linren
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-12-11
收藏
得分:0 
1、用一个类实现两个数组相加,例如数组a=b+c;就是响应位置的数相加等于响应的另外一个数组的元素。

[bo]程序(使用模版):[/bo]
#include <iostream>
using namespace std;

template<class T>
class A
{
public:
    void add(T c[],const T a[],const T b[],const int n);
};

template<class T>
void A<T>::add(T c[],const T a[],const T b[],const int n)
{
    for(int i=0;i<n;i++)
        c[i]=a[i]+b[i];
}

int main ()
{
    int a[3]={1,2,3};
    int b[3]={2,1,5};
    int c[3];
    A<int> op;
    op.add(c,a,b,3);
    cout<<c[0]<<", "<<c[1]<<", "<<c[2]<<endl;

    
    double a1[2]={1.25,5.47};
    double b1[2]={-3.47,6.7};
    double c1[2];
    A<double> op1;
    op1.add(c1,a1,b1,2);
    cout<<c1[0]<<", "<<c1[1]<<endl;

    return 0;
}

生活就是一个七日接着又一个七日
2008-07-13 23:32
alexboy
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-12
收藏
得分:0 
5,6都比较囧
2008-07-14 08:12
lindayanglong
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2008-3-9
收藏
得分:0 
不明白string::npos请解释一下
不明白string::npos得到的是什么东西 很想知道 请解释一下 谢谢
2008-07-16 10:01
linren
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-12-11
收藏
得分:0 
[bo][un]lindayanglong[/un] 在 2008-7-16 10:01 的发言:[/bo]

不明白string::npos得到的是什么东西 很想知道 请解释一下 谢谢

find失败后的返回值……

生活就是一个七日接着又一个七日
2008-07-16 21:45
快速回复:面试题大家试试
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019231 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved