历年考研机试答案(哈尔滨工业大学)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈工大计算机院研究生入学考试机试编程题(09-12)

哈工大计算机专业机试编程题(2009)

题目描述:

用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。

输入:

测试数据有多组,输入n。

输出:

对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。

样例输入:

40

样例输出:

x=0,y=0,z=100

x=0,y=1,z=99

x=0,y=2,z=98

x=1,y=0,z=99

参考答案:

#include

int main()

{

int x, y, z;

float n;

while(scanf("%f",&n)!=EOF)

{

for(x=0;5*x<=n;x++)

{

for(y=0;3*y<=n;y++)

{

z=100-x-y;

if((5*x+3*y+(float)z/3)<=n)

{

printf("x=%d,y=%d,z=%d\n",x,y,z); }

}

}

}

return 0;

}

题目描述:

输入10个数,要求输出其中的最大值。

输入:

测试数据有多组,每组10个数。

输出:

对于每组输入,请输出其最大值(有回车)。

样例输入:

10 22 23 152 65 79 85 96 32 1

样例输出:

max=152

参考答案:

#include

int main()

int i, a[10], maxn;

while(scanf("%d",&a[0])!=EOF)

{

maxn=a[0];

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

{

scanf("%d",&a[i]);

if(maxn

{

maxn=a[i];

}

}

printf("max=%d\n",maxn);

}

return 0;

}

题目描述:

给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。输入:

测试数据有多组,每组输入一个数n。

输出:

对于每组输入,若是素数则输出yes,否则输入no。

样例输入:

样例输出:

yes

参考答案:

#include

#include

int judge(int n)

{

int i;

if(n<=1)

return 0;

else

{

for(i=2;i<=sqrt(n);i++) {

if(n%i==0)

return 0;

}

return 1;

}

}

int main()

{

int n;

while(scanf("%d",&n)!=EOF) {

if(judge(n))

printf("yes\n");

else

printf("no\n");

}

return 0;

}

题目描述:

给定三角形的三条边,a,b,c。判断该三角形类型。

输入:

测试数据有多组,每组输入三角形的三条边。

输出:

对于每组输入,输出直角三角形、锐角三角形、或是钝角三角形。样例输入:

3 4 5

样例输出:

直角三角形

参考答案:

//判断直角、锐角、钝角三角形

#include

#include

void exchange(int *a,int *b)

{

int temp=*a;

*a = *b;

*b = temp;

}

int main()

{

int a, b, c;

int x;

while(scanf("%d%d%d",&a,&b,&c)!=EOF)

{

if(a

exchange(&a,&b);

if(a

exchange(&a,&c);

x = a*a - b*b -c*c;

if(x==0)

printf("直角三角形\n");

if(x<0)

printf("锐角三角形\n");

if(x>0)

printf("钝角三角形\n");

}

return 0;

}

题目描述:

输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果。输入:

测试数据有多组,每组输入字符串s和字符c。

输出:

对于每组输入,输出去除c字符后的结果。样例输入:

heallo

a

样例输出:

hello

参考答案:

#include

#include

int main()

{

char a[100], b;

int i, j, l;

while(scanf("%s %c",a,&b)!=EOF)

{

j=0;

l = strlen(a);

for(i=0;i

{

if(a[i]!=b)

{

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

}

}

a[j]=a[l];

printf("%s\n",a);

相关文档
最新文档