考研论坛

 
楼主: tsinjz
打印 上一主题 下一主题

【计算机复试】最新06-10上机真题及答案

[复制链接]

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
11
 楼主| 发表于 2010-4-10 00:22 | 只看该作者
D.1
#include<iostream.h>
#include<iomanip.h>
void main()
{ int a[1000],i,j,n;

cout<<"input n:"<<endl;


cin>>n;


for(i=0;i<n;i++)



a=(n-i)*(n-i);


for(i=0;i<n;i++)


{ for(j=0;j<n;j++)



cout<<a[(i+j)%n]<<setw(5);


cout<<endl;


}

}
D.2
#include<iostream.h>
#include<iomanip.h>
int hanoi(int n)
{
if(n==0)return 0;


if(n==1)return 1;


else return (2*hanoi(n-1)+1);

}
void main()
{
int n,m,year,day,hour,minute,second;


cout<<"input disk number:"<<endl;


cin>>n;


m=hanoi(n);


year=m/3153600;


day=(m%3153600)/86400;


hour=(m%3153600%86400)/3600;


minute=(m%3153600%86400%3600)/60;


second=m%3153600%86400%3600%60;


cout<<"If one step needs one second,then it needs :"<<endl<<endl<<"
"<<year<<" year,"<<day<<" day,"<<hour<<" hour,"<<minute<<" minute,"<<second<<" second."<<endl;

}
D.3
#include<iostream.h>
#include<string.h>
#include<math.h>
void main()
{
int i=0,imax=0,la=0,lb=0;


char s[100],t[100],max;


cout<<"
输入两字符串,第二字符串插入第一字符串的最大ASCII值的字符后面:"<<endl;


cin>>s>>t;


max=s[0];


while(s[la]!='\0')


{ if(max<s[la])



{
max=s[la];


imax=la;


}


la++;}



la=strlen(s);


lb=strlen(t);


for(i=la;i>imax;i--)s[i+lb]=s;


for(i=0;i<lb;i++)s[i+imax+1]=t;


s[la+lb+1]='\0';


cout<<"
插入后的字符串:"<<endl<<s<<endl;

}
D.4
#include<iostream.h>
#include<iomanip.h>

void main()


{ int i,j,n;


cout<<"input the value of n:"<<endl;


cin>>n;


for(i=1;i<=n;i++)


{
for(j=1;j<=n-i;j++)



cout<<" "<< " ";


for(j=1;j<i;j++)


cout<<j<<" ";



for(j=i;j>=1;j--)



cout<<j<<" ";




cout<<endl;


}

}
D.5
#include<iostream.h>
void main()
{
int i,count=0;


for(i=100;i<1000;i+=2)


if((i%10==i/100)||(i%10==(i/10)%10)||(i/100==i/10%10))



{
cout<<i<<'\t';



count++;



}


cout<<endl<<"
共有:"<<count<<"个!"<<endl;

}
E.1
#include<iostream.h>
void main()
{
char s[100];


int i=0,count=0;


cout<<"
输入字符串:"<<endl;


cin>>s;


while(s!='\0')


{



count++;


if(s>='0'&&s<='9') cout<<count<<'\t';



else



if(s>='a'&&s<='z')s=s-'a'+'A';



i++;


}


i=0;


while(s!='\0')


{


cout<<s;


i++;


}

}
E.2
#include<iostream.h>

fun(int m)


{ int i;


for(i=2;i<m/2;i++)



if(m%i==0)break;



if(i<m/2)return 0;



else return 1;


}


void main()
{ int a[100],i=0,j;

cout<<"
输入要分解的偶数,以-1结束\n";


cin>>a;


while(a!=-1)


{
for(j=2;j<a/2;j++)


if(fun(j)&&fun(a-j))



{cout<<a<<"="<<j<<"+"<<a-j<<endl;}//
如果对任意输入的偶数,若要只输出符合条件的一组,在if语句中加break;即可


i++;



cin>>a;


}

}
E.3
#include<iostream.h>
void main()
{
int i;


for(i=100;i<=999;i++)


if(i%11==0)



if(i%10!=i/100&&i/10%10!=i/100&&i/10%10!=i%10)



cout<<i<<'\t';


cout<<endl;

}
E.4
#include<iostream.h>
#include<iomanip.h>
void main()
{
int i,j,n;


cout<<"
输入钻石形的上半行数n\n";


cin>>n;


for(i=1;i<=n;i++)


{
cout<<setw(n-i+2)<<"*"<<setw(2*i-2);


if(i!=1)cout<<"*";


cout<<endl;


}


for(i=n-1;i>=1;i--)


{cout<<setw(n-i+2)<<"*"<<setw(2*i-2);


if(i!=1)cout<<"*";


cout<<endl;


}

}
E.5
#include<iostream.h>
#include<math.h>
#define n 10 //待开方的数
void main()
{ float x=1.0,y;

y=0.5*(x+n/x);


while(fabs(y-x)>0.001)


{ x=y;


y=0.5*(x+n/x);


}


cout<<"
近似解为:"<<x<<endl;

}
E.6
#include<iostream.h>
#include<iomanip.h>
#define n 11

//
数组为1111列,00列不用。

int main()
{
int i,j,a[n][n];


for(i=1;i<n;i++)


{
a[1]=1;


a=1;


}


for(i=3;i<n;i++)



for(j=2;j<=i-1;j++)



a[j]=a[i-1][j-1]+a[i-1][j];


for(i=1;i<n;i++)


{ for(j=1;j<=i;j++) cout<<setw(6)<<a[j];
//
修改此处的setw()可以使显示的内容更多


cout<<endl;


}


cout<<endl;


return 0;

}
E.7
#include<iostream.h>

void move(char x,char y)


{
cout<<x<<"-->"<<y<<endl;


}


void hanoi(int n,char one,char two,char three)


{
if(n==1) move(one,three);


else



{ hanoi(n-1,one,three,two);



move(one,three);




hanoi(n-1,two,one,three);



}


}


void main()//main()


{
int m;


cout<<"input the number of disks:"<<endl;



cin>>m;



cout<<"the step to moving "<<m<<" disks:"<<endl;



hanoi(m,'a','b','c');


}

E.8
#include<iostream.h>

void convert(int n)


{
char c;


if(n/10!=0)


convert(n/10);


c=n%10+'0';


cout<<" "<<c;


}


void main()
{ int number;

cout<<"input an integer:"<<endl;


cin>>number;


cout<<"output:"<<endl;


if(number<0)


{ cout<<"_";


number=-number;


}


convert(number);


cout<<endl;

}
E.9
#include<iostream.h>
void main()
{ int a[15]={99,87,82,79,77,76,76,60,49,48,44,33,27,22,11};
int num,i=0,j=14,mid=7;
cin>>num;
while(i<j)
{if(num==a[mid])break;
else if(num<a[mid])i=mid+1;
else j=mid-1;
mid=(i+j)/2;
}
if(num==a[mid])cout<<mid+1<<endl;else cout<<"NO MATCH!"<<endl;
}
E.10
#include<iostream.h>
#include<iomanip.h>
#define n 7
void main()
{ int i,j;

for(i=0;i<n;i++)



{
cout<<setw(i+1);



for(j=0;j<n;j++)



cout<<"*";


cout<<endl;


}


}
E.11
#include <iostream.h>

int main()


{ int i,j,k,jm,t,a[3][3];


cout<<"
输入3*3的矩阵:"<<endl;


for(i=0;i<3;i++)


for(j=0;j<3;j++)



cin>>a[j];


for(i=0;i<3;i++)


{ t=a[0];jm=0;


for(j=0;j<3;j++)if(t<a[j]){t=a[j];jm=j;}



for(k=0;k<3;k++)if(t>a[k][jm])break;



if(k==3){cout<<"
鞍点值是: "<<t<<endl<<"下标是:"<<"i="<<i<<",j="<<jm<<endl;return 1;}


}


cout<<"
不存在鞍点!"<<endl;return 0;


}

评分

参与人数 1威望 +30 收起 理由
南理工大 + 30

查看全部评分

回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
12
 楼主| 发表于 2010-4-10 00:32 | 只看该作者

除了10年的第一和第六题外,其他均已运行通过,希望对大家有些帮助。

[ 本帖最后由 tsinjz 于 2010-4-10 00:49 编辑 ]
回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
13
 楼主| 发表于 2010-4-10 00:35 | 只看该作者
中间有个别题目是用公式编辑器编的,没能显示出来,不过这几道题很简单,题目通过程序代码可以很容易看出来,这里就不重复操作了。

[ 本帖最后由 tsinjz 于 2010-4-10 00:51 编辑 ]
回复

使用道具 举报

0

主题

34

帖子

105

积分

一般战友

Rank: 2

精华
0
威望
27
K币
78 元
注册时间
2009-7-30
14
发表于 2010-4-10 09:46 | 只看该作者
弱弱的问下,上机是给出部分的程序让你填补其中一段还是整个都要自己写出来?感觉这些题目有些难啊
回复

使用道具 举报

4

主题

18

帖子

51

积分

新手上路

Rank: 1

精华
0
威望
0
K币
51 元
注册时间
2009-3-21
15
发表于 2010-4-10 10:14 | 只看该作者
楼主  记得挺全啊
回复

使用道具 举报

0

主题

8

帖子

56

积分

新手上路

Rank: 1

精华
0
威望
0
K币
56 元
注册时间
2009-10-27
16
发表于 2010-4-10 14:37 | 只看该作者
LZ好人啊,这么好的帖子不能沉了!!!
回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
17
 楼主| 发表于 2010-4-10 16:41 | 只看该作者

回复 11楼 yue_er1117 的帖子

南理上机要求不高,只要编出一道题,他就不会因为上机卡你,说实话,这些题难度适中,个别题确实难一些,今年上机的时候,我旁边的一个同学,很早就做完了,至少剩了一刻钟,应该全部做出来了,因为他在最后一直不碰电脑,时不时的和对我笑笑,再说两句话,其中有一次还被老师说了一次,呵呵,商机分为没想象中的严格,可以自带一本教材,但不允许夹带材料,
   切记要带一个空优盘!!!
回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
18
 楼主| 发表于 2010-4-10 16:46 | 只看该作者

回复 11楼 yue_er1117 的帖子

说了那么多,竟然忘了回答你的问题,要独立编程,考试时只给出题目。有一个学长说的挺实用,把下面代码先贴到记事本里,然后每次做题时直接贴入确实很好,我就是这么做的。。。
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
void main()
{}
回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
19
 楼主| 发表于 2010-4-10 16:49 | 只看该作者

回复 10楼 11的考研 的帖子

行,你如果有什么问题的话加我qq吧:273741799
最好在身份验证时说明你是11考研的。。。
回复

使用道具 举报

3

主题

85

帖子

461

积分

一般战友

Rank: 2

精华
2
威望
145
K币
316 元
注册时间
2009-9-16
20
 楼主| 发表于 2010-4-11 17:46 | 只看该作者
强烈建议一下,先根据题目编一下程序,调试后再看源代码,直接往里贴的话,对提高自己的编程水平不大,真正上机的时候就会很容易慌场的。。另外一个题目最好有几种方法,熟练最优化的,若做的项目很多工程师特别见效果
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 人人连接登陆

本版积分规则   

关闭

您还剩5次免费下载资料的机会哦~

扫描二维码下载资料

使用手机端考研帮,进入扫一扫
在“我”中打开扫一扫,
扫描二维码下载资料

关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

GMT+8, 2024-5-8 05:38 , Processed in 0.047435 second(s), Total 11, Slave 9(Usage:7M, Links:[2]1,1_1) queries , Memcache On.

Powered by Discuz!

© 2001-2017 考研 Inc.

快速回复 返回顶部 返回列表
× 关闭