哈尔滨工业大学2012-2009计算机研究生考试机试编程带答案

本站小编 半岛在线注册/2016-02-06

哈工大计算机院研究生入学考试机试编程题(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<stdio.h>
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<stdio.h>
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<a[i])
            {
                maxn=a[i];
            }
        }
        printf("max=%d\n",maxn);
 
    }
 
    return 0;
}


题目描述:
给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
输入:
测试数据有多组,每组输入一个数n。
输出:
对于每组输入,若是素数则输出yes,否则输入no。
样例输入:
13
样例输出:
yes

参考答案:
#include<stdio.h>
#include<math.h>
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。判断该三角形类型。
输入:
测试数据有多组,每组输入三角形的三条边。


相关话题/计算机