写给09年考南理计算机的你【有关复试】
来源:百度文库 编辑:神马文学网 时间:2024/05/03 05:00:40
写给09年考南理计算机的你【有关复试】
-复试成绩占30%,听力30分,笔试150,上机80分,面试和口语一块考察各占20分。个人认为上机是最重要的。笔试小于55分直接刷,小于70分没有公费资格,上机0分直接刷,小于20分没有公费资格。面试小于6分直接刷。(南理“宁缺勿滥”这句话不是唬人的,据说398分的最高分都刷了)听力、口语没有规定,当然是越高越好了。听力30分(全选择,要带铅笔橡皮)
1)对白0.5分×20
2)段落1分×20
我不知道是不是六级原题(据说去年用的是原题),但感觉比我考的六级听力要简单,倒不是我听得好,是因为它的答案长度小于六级的,呵呵
笔试
数据库
1. 选择2分×20
2. 编程:
1)关系代数语言2分×3
2)SQL语言19分 比较简单,最难的也就是语句嵌套了
3. 数据库设计
1)E/R图 5分
2)根据上图设计数据库关系模式 5分
软件工程
1. 选择2分×15
2. 填空2分×5
3. 名词解释2分×5
4. 简答3分×3
5. 应用题
考察内容就三块:
1)画SC图6分
2)画PAD图5分
3)根据一段15行左右的程序设计语句、路径测试用例5分
本人选考的是软工,个人感觉还是很简单的,我没怎么准备,当然全做出来是没有,但最低标准是达到了。
上机10分×8
1. 从键盘输入一个带有数字的字符串,将其中数字所在的位置输出,并把字符串小写字符变大写再输出。例:输入ab2cd3ef4按回车输出3 6 9 AB2CD3EF4
2. 验证这句话:任何一个大于6的偶数都可以分解为两个素数之和。要求:输入一个大于6的偶数,输出两个素数,其和为输入偶数,程序一直运行,直到键盘输入-1后回车再退出。
3. 找出满足下列性质的三位数,输出并统计其个数:能被11整除,且三个数位上没有两个数相同。例:121不可以。
4. 写一段满足下列条件的程序:输入一个数n和m,把低m位移到高位并输出。例:123456789 3,回车后输出789123456.(不允许用数组实现)
5. 编写程序,输入n(n>=5),打印一个以n为参数的钻石形。(他给出了一个图形,图形元素为星号,我不懂什么叫钻石形,也没从图中总结出规律,没做。至于钻石形,读者自查吧)
6. 用数值迭代法求一个正数的开方,此数由键盘输入,满足前后两次结果数之差小于0.00001。(他给出了迭代公式,我现在的机器不好写,读者自查吧)
7. 从键盘输入一组数,存入一链表中,以-1为链表结束的标志,且-1不作为链表节点。并对其排序,按升序(注:也可能是降序)输出。
8. 对给定的一个数组:a[]={1,35,63,26,85,23,67,81,15,38,80,200},使用系统给定的二分查找函数bsearch()(注:可能是这样写的,不确定)将其排序并输出。此函数要查看系统联机文档,查看其用法。
以上试题不保证没有错漏,毕竟是回忆版的,但大致意思是对的。上机环境为vc或tc可选,本人选的vc,感觉还是vc较好吧,tc毕竟“老古董”了。
从上述试题可以看出南理上机其实不是很难,但考察的较全面。1是考底层地址字符处理,2、3、4都是常规的数字游戏,5考打印控制,6数值分析(最简单的迭代法),7数据结构(链表也是最简单的),8数据结构(但重点恐怕是让我们学会查联机文档啦)。当然,考满分也是不容易的,呵呵 下面是07年一个学长(谢谢这位好心人!)写的上机题目:
计算机07复试上机
今年上机分数集中在40~60之间,据说有两个0分,我写完七个57分
第三题闰年条件写得不对,自己改吧
第七题写的不够简单,当时只想出结果就行了,自己可以优化一下
今年编程源码可以保存在优盘或软盘,以前是软盘,优盘复试时候还,软盘不还
另外上机时间2小时,在编程时候先用记事本写上
#include
#include
#include
void main(){}
直接往里面贴就省时间了
我Q285605960,备注:本校跨专业考计算机,有什么需要可以找我
下面的题目是我根据源码回忆的,可能不太准确,基本上是这样,主要是看看难度
1题目写出递归方程
2//找出这样的数:本身是三位的完全平方数n(100<=n<1000),而且有有两位上的数字相同,如484
3//输入年份和月份,计算该年初到该年这个月底的总天数(注意闰年)
4//用牛顿迭代法求某正数n的平方根
5/求亲密数a,b(均为正整数):a的所有因子(含1不含a本身)之和为b,若b的所有因子(含1不含b本身)之和为a,则a,b为亲密数,求满足a6//给定数组,求连续三元素之和,输出和最大的第一个元素的下标
7//键盘输入正整数序列-1结尾,以此按升序建立双向循环链表,并降序输出
8键盘输入算数表达式(字符串的),求计算结果.(这题没来得及)
//以下是源码,我写的
1题目写出递归方程#include
#include
float fun(float x,int n){
if(0==n){
return 1;
}else if(1==n){
return x;
}else{
return ((2*n-1)*x-fun(x,n-1)-(n-1)*fun(x,n-2)/n);
}
}
void main(){
int n;
float p,x;
cout<
2//找出这样的数:本身是三位的完全平方数n(100<=n<1000),而且有有两位上的数字相同,如484
#include
#include
#include
int fun1(int n){
int temp;
temp=(int)sqrt(n);
if(n==temp*temp){
return 1;
}else{
return 0;
}
}
int fun2(int n){
int a[3],i;
for(i=0;i<3;i++){
a=n%10;
n/=10;
}
if(a[0]== a[1] || a[1]== a[2] || a[0]== a[2]) return 1;
else return 0;
}
void main(){
int n;
for(n=100;n<1000;n++){
if(fun1(n) && fun2(n)){
cout<<"n="<
}
}//main
3//输入年份和月份,计算该年初到该年这个月底的总天数(注意闰年)
#include
#include
#include
int leapyear(int year){
if(year%4==0 || year%400==0){
return 1;
}else return 0;
}
void main(){
int year,month;
int num=0,feb=0;
cout<<"请输入年份n和月份m"<
if(leapyear(year)) feb=29;
else feb=28;
switch(month){
case 1: num=num+31; break;
case 2: num=num+31+feb; break;
case 3: num=num+31+feb+31;break;
case 4: num=num+31+feb+31+30;break;
case 5: num=num+31+feb+31+30+31;break;
case 6: num=num+31+feb+31+30+31+30;break;
case 7: num=num+31+feb+31+30+31+30+31;break;
case 8: num=num+31+feb+31+30+31+30+31+31;break;
case 9: num=num+31+feb+31+30+31+30+31+31+30;break;
case 10: num=num+31+feb+31+30+31+30+31+31+30+31;break;
case 11: num=num+31+feb+31+30+31+30+31+31+30+31+30;break;
case 12: num=num+31+feb+31+30+31+30+31+31+30+31+30+31;break;
}//switch(month)
cout<<"天数="<
4//用牛顿迭代法求某正数n的平方根
//迭代公式:x2=(x1+n/x1)/2,当x2-x1绝对值小于0.00001停止迭代
#include
#include
#include
float fun(float n){
float x1=1,x2=1;
do{
x1=x2;
x2=(x1+n/x1)/2.0f;
}while(fabs(x2-x1)>0.00001);
return x2;
}
void main(){
cout<
5/求亲密数a,b(均为正整数):a的所有因子(含1不含a本身)之和为b,若b的所有因子(含1不含b本身)之和为a,则a,b为亲密数,求满足a#include
#include
#include
int fun(int n){
int i,sum=0;
for(i=1;i
}
return sum;
}
void main(){
int m,n,a,b,temp,temp2;
cout<<"请输入范围m n : (10
for(a=m;a<=n;a++){
b=fun(a);
if(a==fun(b) && a}//main
7//键盘输入正整数序列-1结尾,以此按升序建立双向循环链表,并降序输出
//第七题写的不够简单,当时只想出结果就行了,自己可以优化一下
#include
#include
#include
struct Node{
int data;
Node * per;
Node * next;
};
void main(){
int a[1000],num=-1,i,j,temp;
Node * head , * cur,*fir;
cout<<"输入正整数序列,空格分隔,以-1结尾"<
num++;
cin>>a[num];
}while(-1!=a[num]);
for(i=0;i
temp=a;
a=a[j];
a[j]=temp;
}
}
}
head=cur= fir=new Node;
cur->per =NULL;
cur->next =NULL;
cur->data=a[0];
for(i=1;i
cur->data=a;
fir->next=cur;
cur->per=fir;
cur->next =NULL;
fir=cur;
}
head->per=fir;
for(; fir!=head ; ){
cout<
}
cout<
引用 回复 TOP
1.输入一个整数如2,输入项数如4,计算下式的值:2+22+222+2222
(如输入的是3和2则需要计算的是3+33)
#include
#include
using namespace std;
void main()
{
double a,n;
double temp=0;
int sum=0;
cin>>a>>n;
for(double i=0;i
temp+=a*pow(10,i);
}
cout<
x=temp/10;sum=temp;
for(int j=1;j<=n;j++)
{
sum=sum+x;
x=x/10;
}
cout<
×2.计算e的值e(给定e的表达式,精确度10^-6)
3.一篮鸡蛋数目除2余1,除3余2,除4余3,除5余4问有多少个(59)
#include
using namespace std;
void main()
{
int i=0;
while(!((i%2==1)&&(i%3==2)&&(i%4==3)&&(i%5==4)))
{
i++;
}
cout<}
4将一个整数转换为16进制输出,(不得使用系统函数)
#include
using namespace std;
void tran(int num)
{
int a[8];
int i=0;
for(i=0;i<8;i++)
{
a=num%16;
num/=16;
if(num==0) break;
}
for(;i>=0;i--)
{
switch(a)
{
case 10:
{
cout<<'A';
break;
}
case 11:
{
cout<<'B';
break;
}
case 12:
{
cout<<'C';
break;
}
case 13:
{
cout<<'D';
break;
}
case 14:
{
cout<<'E';
break;
}
case 15:
{
cout<<'F';
break;
}
default:
{
cout<;
break;
}
}
}
}
void main()
{
int num;
cin>>num;
tran(num);
}
5打印100-999间的回文数(正读反读相同,如101 111 121 131 ……)
#include
using namespace std;
void main()
{
int i=100;
int f,l;
for(;i<=999;i++)
{
f=i/100;
l=i%10;
if(f==l) cout< }
}
6打印九九表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
……………………………………………………………………
……………………………………………………………………
#include
using namespace std;
void main()
{
int j=1;
for(int i=1;i<=9;i++)
{
for(;j<=i;j++)
{
cout< }
j=1;
cout<
}
7一个数的个位是8(如128),将8移到首位(变成812)后将是原来的4倍,编程求这个数(128205)(最小值)
#include
#include
using namespace std;
int pow1(int x)/*定义int型pow乘方函数*/
{
int r=1;
if(x==0)
return(r);
else
{
while(x>0)
{
r=r*10;
x--;
}
return(r);
}
}
void main()
{
int i,sum=0,j,n=0,temp,f,l;
n=temp=128;
while(sum!=temp*4)
{
temp=n;
i=0;
f=n%10;
j=n;
while(j>10)//计算数字的位数
{
j=j/10;
i++;
}
l=n/10;
sum=f*pow1(i)+l;
n++;
}
cout<
8.A,B,C,D,E,F,G分别代表1000,500,100,50,10,5,1,给定一个字符串如ABC,求出它的值(ABC=1000+500+100)
#include
using namespace std;
void main()
{
char a[20];
int b[20];
int i=0,sum=0;
char ch='A';
while(ch!='.')
{
cin>>ch;
a=ch;
i++;
}
i=0;
while(a!='.')
{
switch(a)
{
case 'A':
{
b=1000;
i++;
break;
}
case 'B':
{
b=500;
i++;
break;
}
case 'C':
{
b=100;
i++;
break;
}
case 'D':
{
b=50;
i++;
break;
}
case 'E':
{
b=10;
i++;
break;
}
case 'F':
{
b=5;
i++;
break;
}
case 'G':
{
b=1;
i++;
break;
}
default:
{
cout<<"包含一个非法字符"<<<"将以0计算"<
i++;
break;
}
}
}
i--;
for(;i>=0;i--)
sum+=b;
cout<
}
写给09年考南理计算机的你【有关复试】
复试经验谈:计算机考生的具体要求
我考北航计算机的一些经历——复试过程 - 北京航空航天大学 - 考研论坛
写给学计算机的大学新生
写给学计算机的大学新生00
复试注意的问题
写给理工科大学生尤其是学计算机的大学生
理论计算机学习的有关科目及相关资料 !
理论计算机学习的有关科目及相关资料!
都与你有关--写给河大遇难女孩
计算机考研复试考查考生独立学习研究能力
写给未来的你
写给暗恋的你
写给未来的你
写给思念的你
写给大学的你
写给你的一封信
写给中年的你
写给未来的你
复试的潜规则:一些你也许不知道的细节问题转载
写给你的...亲爱的...
写给天际那边的你
写给你的五连胜
写给20几岁的你: