考研 计算机 机试题,华中科技大学计算机考研复试机试题(含代码).doc

华科历年复试机试题汇总

上机考试。一般网站上公布上机环境要求是TC2.0,但实际上是可以使用VC的。这里有一点特别要大家注意:TC2.0只支持纯C代码,不支持C++风格代码。华科的计算机学生称,不管你是用VC还是TC,老师都要在TC2.0上进行验收程序,以确认你的代码是纯C。比如:p = new Node ; 的代码写法在TC2.0下是通不过的,只能写p = (Node *)malloc (sizeof (Node)) ; 。另外TC2.0不支持引用,如:Pop (Stack &s , ElemType &e)中含有“&”的引用,在TC2.0下无法通过。 华科的上机题目每年都差不多,经常考的就是排序、链表和树的操作等。建议在去复试前一定要进行专门练习上机。

Note:

上机时间为1个半小时,题目一般为三道题,前两道一般代码不会超过70行,最后一道会达到150~200行。上机时做题速度一定要快,不要总抓着一个不放,时间在不知不觉中过的是很快的。

2010年的机试题:

a、输入一个字符串,然后对每个字符进行奇校

验,最后输出校验后的二进制数!(如‘3’,输出;

#include

#include

#define max 1000

int pd(char c)

{

int i=0;

int num=0;

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

{

if(c&(1<

num++;

}

if(num%2==0)

return 1;

else

return 0;

}

void main()

{

char a[max];

scanf("%s",a);

int i,j;

int len=strlen(a);

for(i=0;i

{

if (pd(a[i]))

{

a[i]=a[i]|(1<<7);

}

for(j=7;j>=0;j--)

if(a[i]&(1<

printf("1");

else

printf("0");

printf("\n");

}

}

b、设计8个任务函数task0()-task7()只输出一句话:如task0()输出“task0 is called!”;设计一个调度函数schedule()输入一个字符串如"012345"然后返回一个函数指针数组和字符串的长度作为执行函数execute()的参数进行调度任务函数。主函数只有调度函数。(这个题难道很多同学因为很多同学不知道函数指针数组怎么用啊!)

#include

#include

#include

typedef void (*ptask)();

//8个任务函数;

void task0(){

printf("task0 is called!\n");

}

void task1(){

printf("task1 is called!\n");

}

void task2(){

printf("task2 is called!\n");

}

void task3(){

printf("task3 is called!\n");

}

void task4(){

printf("task4 is called!\n");

}

void task5(){

printf("task5 is called!\n");

}

void task6(){

printf("task6 is called!\n");

}

void task7(){

printf("task7 is called!\n");

}

ptask fun[9]={task0,task1,task2,task3,task4,task5,task6,task7,};

void execute(ptask* fun,int len){//执行函数

for(int i=0;i

ptask pfun=fun[i];

pfun();

}

}

void schedule(){//调度函数;

ptask fun[100];//定义函数指针数组;

int len;//字符串长度;

char s[1000];

printf("请输入字符串:\n");

scanf("%s",s);

len=strlen(s);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值