华中科技大学计算机考研复试机试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华科历年复试机试题汇总
上机考试。一般网站上公布上机环境要求是,但实际上是可以使用VC的。这里有一点特别要大家注意:只支持纯C代码,不支持C++风格代码。华科的计算机学生称,不管你是用VC还是TC,老师都要在上进行验收程序,以确认你的代码是纯C。比如:p = new Node ; 的代码写法在下是通不过的,只能写p = (Node *)malloc (sizeof (Node)) ; 。另外不支持引用,如:Pop (Stack &s , ElemType &e)中含有“&”的引用,在下无法通过。
华科的上机题目每年都差不多,经常考的就是排序、链表和树的操作等。建议在去复试前一定要进行专门练习上机。
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)(); 2011/03/18v=tempB->av; s[k].chengji[0]=tempB->chengji[0]; s[k].chengji[1]=tempB->chengji[1]; s[k].chengji[2]=tempB->chengji[2]; strcpy(s[k].xuehao,tempB->xuehao); tempB=tempB->next; k++; } int l,m; stud temps; for (l=0;l { for (m=l+1;m { if(s[l].av { [0]=s[l].chengji[0]; [1]=s[l].chengji[1]; [2]=s[l].chengji[2]; strcpy,s[l].xuehao); s[l].chengji[0]=s[m].chengji[0]; s[l].chengji[1]=s[m].chengji[1]; s[l].chengji[2]=s[m].chengji[2]; strcpy(s[l].xuehao,s[m].xuehao); s[m].chengji[0]=[0]; s[m].chengji[1]=[1]; s[m].chengji[2]=[2]; strcpy(s[m].xuehao,; } } } for (int i=0;i { printf("学号:%s\n",s[i].xuehao); printf("成绩:%f\n",s[i].chengji[0]); printf("成绩:%f\n",s[i].chengji[1]); printf("成绩:%f\n",s[i].chengji[2]); } return 0; } ==》07年的华科招收研究生上机试题 一、编写一个程序输入一个5X6的矩阵存储并输出,并且求出每行的最大值和每行的总和要求把每行总和放入每行最大值的位置, 最后把结果矩阵,每行最大值及其原下标及其总和输出。 我的代码: #include<> #include<> int getMat(int a[5][6],int n,int m){ int i,j; for(i=0;i for(j=0;j scanf("%d",&a[i][j]); } int getMax(int a[5][6],int n,int m,int b[5],int c[5],int d[5],int sum[5]){ int i,j; for(i=0;i