历年北京理工大学复试上机题题目汇总:
http://blog.csdn.net/u014552756/article/details/78505845
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[15];
for(int i=0; i<10; i++)
cin>>a[i];
sort(a,a+10);
for(int i=0; i<9; i++)
cout<<a[i]<<",";
cout<<a[9]<<endl;
return 0;
}
'
http://blog.chinaunix.net/uid-26284412-id-3189214.html
http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html
#include <iostream>
#include <stdio.h>
#include <string>
#include <algorithm>
using namespace std;
struct Stu
{
int num;
string name;
string sex;
int age;
};
bool cmp(Stu a,Stu b)
{
return a.num<b.num;
}
int main()
{
char op[105];
int i,num,age,n=3;
Stu stu[105];
stu[0].num=10;stu[0].name="wes";stu[0].sex="f";stu[0].age=23;
stu[1].num=20;stu[1].name="ert";stu[1].sex="f";stu[1].age=45;
stu[2].num=30;stu[2].name="str";stu[2].sex="t";stu[2].age=89;
while(1)
{
gets(op);
if(op[0]=='0')
break;
else if(op[0]=='I')//插入
{
char name[105],sex[105];
int num,age;
sscanf(op,"I%d,%[^,],%[^,],%d",&num,name,sex,&age);//sscanf用法
stu[n].num=num;
stu[n].name=name;
stu[n].sex=sex;
stu[n].age=age;
n++;
sort(stu,stu+n,cmp);
for(i=0; i<n-1; i++)
cout<<"("<<stu[i].num<<","<<stu[i].name<<","<<stu[i].sex<<","<<stu[i].age<<"),";
cout<<"("<<stu[n-1].num<<","<<stu[n-1].name<<","<<stu[n-1].sex<<","<<stu[n-1].age<<")"<<endl;
}
else if(op[0]=='D')//删除
{
int t;
sscanf(op,"D%d",&t);
for(i=0; i<n; i++)
{
if(stu[i].num==t)
{
if(i==n-1)
{
n--;
}
else
{
stu[i].num=stu[n-1].num;
stu[i].name=stu[n-1].name;
stu[i].sex=stu[n-1].sex;
stu[i].age=stu[n-1].age;
n--;
}
break;
}
}
sort(stu,stu+n,cmp);
for(i=0; i<n-1; i++)
cout<<"("<<stu[i].num<<","<<stu[i].name<<","<<stu[i].sex<<","<<stu[i].age<<"),";
cout<<"("<<stu[n-1].num<<","<<stu[n-1].name<<","<<stu[n-1].sex<<","<<stu[n-1].age<<")"<<endl;
}
}
return 0;
}
http://m.blog.csdn.net/article/details?id=49931995
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char a[20],b[20];
void f(int ab,int ae,int bb,int be)
{
int i;
if(ab>ae) return;
cout<<a[ae];
for(i=bb; b[i]!=a[ae]; i++); //后序序列的最后一个为根
f(ab,ab+i-bb-1,bb,i-1);//递归求左子树先序
f(ab+i-bb,ae-1,i+1,be);//递归求右子树先序,注意ae-1
}
int main()
{
//a为后序,b为中序
while(scanf("%s%s",a,b)!=EOF)
{
int len=strlen(a);
f(0,len-1,0,len-1);
cout<<endl;
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
//建树
string a,b;
struct node
{
char c;
node *l;
node *r;
};
void dfs(node *T)
{
if(T==NULL)
return ;
cout<<T->c;
dfs(T->l);
dfs(T->r);
}
//a后序 b中序
//CHBEDA CBHADE
void f(int aa,int ae,int bb,int be,node *&T)
{
if(aa>ae||bb>be)
return ;
if(T==NULL)
{
T=new node;
T->l=T->r=NULL;
}
int i;
T->c=a[ae];
for(i=0; i<b.length(); i++)
if(b[i]==a[ae])
break;
f(aa,aa+i-bb-1,bb,i-1,T->l);//左子树
f(aa+i-bb,ae-1,i+1,be,T->r);//右子树,注意ae-1
}
int main()
{
node *T=NULL;
cin>>a>>b;
f(0,a.length()-1,0,b.length()-1,T);
dfs(T);
return 0;
}

这篇博客整理了2012年北京理工大学复试的上机考试题目,包括链接到详细资源,供考生参考和复习。

5178

被折叠的 条评论
为什么被折叠?



