- 14
- 0
- 约2.62万字
- 约 32页
- 2018-03-09 发布于河南
- 举报
华科计算机考研复试机试题【含参考代码】
华科历年复试机试题汇总
上机考试。一般网站上公布上机环境要求是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 stdio.h
#include string.h
#define max 1000
int pd(char c)
{
int i=0;
int num=0;
for(i=0;i7;i++)
{
if(c(1i))
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;ilen;i++)
{
if (pd(a[i]))
{
a[i]=a[i]|(17);
}
for(j=7;j=0;j--)
if(a[i](1j))
printf(1);
else
printf(0);
printf(\n);
}
}
b、设计8个任务函数task0()-task7()只输出一句话:如task0()输出“task0 is called!”;设计一个调度函数schedule()输入一个字符串如012345然后返回一个函数指针数组和字符串的长度作为执行函数execute()的参数进行调度任务函数。主函数只有调度函数。(这个题难道很多同学因为很多同学不知道函数指针数组怎么用啊!)
#includestdio.h
#includestring.h
#includestdlib.h
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;ilen;i++){
ptask pfun=fun[i];
pfun();
}
}
void schedule(){//调度函数;
ptask fun[100];//定义函数指针数组;
int len;//字符串长度;
char s[1000];
printf(请输入字符串:\n);
scanf(%s,s);
len=strlen(s);
for(int i=0;ilen;i++){
int temp;
temp=s
原创力文档

文档评论(0)