2009年北理复试上机题

历年北京理工大学复试上机题题目汇总:

http://blog.csdn.net/u014552756/article/details/78505845


1、请输入字符串,最多输入4个字符串,要求后输入的字符串排在前面,例如:

输入:EricZ

输出:1=EricZ

输入:David

输出:1=David 2=EricZ

参考链接:deque用法

#include 
#include 
#include 
#include 
using namespace std;
int main()
{
    deque dequ;
    string s;
    
    cout<<"请输入字符串,以00结束:"<::iterator i;
    
    while(cin>>s)
    {
        if(s=="00")
            break;

        dequ.push_front(s);
        int j=1;
        for(i=dequ.begin(); i!=dequ.end(); i++)
        {
            cout<=4)
        {
            cout<<"最多输入4个字符串"<
2、把上述最后结果保存到Name.txt中

参考链接:ofstream用法

#include 
#include 
#include 
#include 
using namespace std;
int main()
{
    deque dequ;
    string s;

    cout<<"请输入字符串,以00结束:"<::iterator i;
    ofstream ooo("Name.txt");

    while(cin>>s)
    {
        if(s=="00")
            break;

        dequ.push_front(s);
        int j=1;
        for(i=dequ.begin(); i!=dequ.end(); i++)
        {
            cout<=4)
        {
            cout<<"最多输入4个字符串"<
3、先输入一组数,然后输入其分组,按照分组统计出现次数并输出。

例如,输入数据3,2,3,8,8,2,3 

输入对应分组    1,2,3,2,1,3,1

输出:

1={2=0,3=2,8=1}

2={2=1,3=0,8=1}

3={2=1,3=1,8=0}

即每组中各数据出现的次数。
参考链接:map用法

#include 
#include 
#include 
using namespace std;

void show(map a)
{
    map::iterator i;
    for(i=a.begin(); i!=a.end(); i++)
    {
        if(i==a.begin())
            cout<first<<"="<second;
        else
            cout<<" "<first<<"="<second;
    }
}

int main()
{
    int a;
    deque arr1,arr2;
    map > mmap;

    cout<<"请输入数据:"<>a)
    {
        if(a==0)
            break;
        arr1.push_front(a);
    }

    cout<<"请输入分组:"<>a)
    {
        if(a==0)
            break;
        arr2.push_front(a);
    }

    deque::iterator it1,it2;
    for(it2=arr2.begin(); it2!=arr2.end(); it2++)
    {
        for(it1=arr1.begin(); it1!=arr1.end(); it1++)
            mmap[*it2][*it1]=0;
    }

    for(it1=arr1.begin(),it2=arr2.begin(); it1!=arr1.end(); it1++,it2++)
        mmap[*it2][*it1]++;

    map >::iterator i;
    for(i=mmap.begin(); i!=mmap.end(); i++)
    {
        cout<first<<"={";
        show(i->second);
        cout<<"}"<

#include   
#include   
#include   
using namespace std;  
  
int a[1005],b[1005],c[1005][1005];  
int main()  
{  
    int i,j,t,n=0,m=0;  
    memset(c,-1,sizeof(c));  
  
    while(cin>>t)  
    {  
        if(t==0)  
            break;  
        a[n++]=t;  
    }  
  
    while(cin>>t)  
    {  
        if(t==0)  
            break;  
        b[m++]=t;  
    }  
  
    for(i=0; i=0)  
            {  
                if(t==0)  
                {  
                    cout<
4、输入一个英文句子,把句子中的单词按出现次数按从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗号,暂不要求识别其他符号。

参考链接:map用法

#include 
#include 
#include 
using namespace std;
int main()
{
    int i,st=-1,ed=-1;//开始位置
    int flag=0;//是否开始记录单词
    map a;
    string s,s1;

    getline(cin,s);

    for(i=0; i='a'&&s[i]<='z')||(s[i]>='a'&&s[i]<='z'))
            {
                flag=1;
                st=i;
            }
        }
        else if(flag==1)//已记录单词中
        {
            if(s[i]==' '||s[i]==','||s[i]=='.')
            {
                ed=i;
                s1=s.substr(st,ed-st);
                a[s1]++;
                flag=0;
                st=-1;
            }
        }
    }
    if(st!=-1)
    {
        s1=s.substr(st,s.length()-st);
        a[s1]++;
    }

    map::iterator it;
    cout<<"单词统计结果:"<::iterator maxn;
        maxn=a.begin();

        for(it=a.begin(); it!=a.end(); it++)
        {
            if(it->second>maxn->second)
                maxn=it;
        }

        cout<first<<"="<second<

你可能感兴趣的:(北理考研初试复试,北京理工大学计算机考研)