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

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


#include<string.h>
int main()
{
    int i, j, k, c[26]={0};
    char a[202];
    while(scanf("%s",a)!=EOF)
    {
        j=strlen(a);
        for(i=0;i<j;i++)
        {
            k=a[i];
            c[k-97]++;
        }
        for(i=0;i<26;i++)
        {
            for(j=0;j<c[i];j++)
            {
                k=97+i;
                printf("%c",k);
            }
        }
        for(i=0;i<26;i++)
        {
            c[i]=0;
        }
        printf("\n");
    }
    return 0;
}

哈尔滨工业大学复试编程试题(2011)

题目描述:
输入一个字符串,长度小于等于200,然后将数组逆置输出。
输入:
测试数据有多组,每组输入一个字符串。
输出:
对于每组输入,请输出逆置后的结果。
样例输入:
hdssg
样例输出:
Gssdh

参考答案:
#include <stdio.h>
#include <string.h>

int main()
{
    int i,j,l;
    char a[200],b[200];
    while(scanf("%s",a)!=EOF)
    {
        l = strlen(a);

        for(i=0,j=l-1;i<l;i++,j--)
        {
            b[i]=a[j];
        }
        b[i]=0;

        puts(b);

    }
    return 0;
}

题目描述:
输入两个正整数,求其最大公约数。
输入:
测试数据有多组,每组输入两个正整数。
输出:
对于每组输入,请输出其最大公约数。
样例输入:
49 14
样例输出:
7

参考答案:
#include<stdio.h>

int main()
{
    unsigned int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        while(a!=b)
        {
            if(a>b)
                a=a-b;
            else
                b=b-a;
        }
        printf("%d\n",a);
    }

    return 0;
}


题目描述:
输入20个数,每个数都在1-10之间,求1-10中的众数(众数就是出现次数最多的数,如果存在一样多次数的众数,则输出权值较小的那一个)。
输入:
测试数据有多组,每组输入20个1-10之间的数。
输出:
对于每组输入,请输出1-10中的众数。
样例输入:
5 1 5 10 3 5 3 4 8 6 8 3 6 5 10 7 10 2 6 2
样例输出:
5

参考答案:

#include<stdio.h>

int main()
{
    int a[20],b[11];
    int i,c;

    while(scanf("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5]
                ,&a[6],&a[7],&a[8],&a[9],&a[10],&a[11],&a[12],&a[13],&a[14],&a[15],&a[16],&a[17]
                ,&a[18],&a[19])!=EOF)

相关话题/计算机