Posted on 2011-09-25 19:33
Uriel 阅读(262)
评论(0) 编辑 收藏 引用 所属分类:
考研&保研复试上机题
貌似。。哈工大的机试题都极其的水。。。
1. 数组逆置
本来想写个递归的。。但是觉得实在是画蛇添足。。
//2011年哈尔滨工业大学计算机研究生机试题 数组逆置
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

char s[1000];


int main()
{
int i;

while(gets(s) != NULL)
{
for(i = strlen(s) - 1; i >= 0; --i) putchar(s[i]);
puts("");
}
return 0;
}2. 最大公约数
大水不解释
//2011年哈尔滨工业大学计算机研究生机试题 最大公约数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;


int gcd(int a, int b)
{
if(!b) return a;
return gcd(b, a % b);
}


int main()
{
int a, b;

while(~scanf("%d %d", &a, &b))
{
if(a < b) swap(a, b);
printf("%d\n", gcd(a, b));
}
return 0;
}3. 众数
memset不小心开到while外面去了。。WA*1
//2011年哈尔滨工业大学计算机研究生机试题 众数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int fg[20];


int main()
{
int mx, mk, a, i;

while(~scanf("%d", &a))
{
memset(fg, 0, sizeof(fg));
fg[a]++;

for(i = 1; i < 20; ++i)
{
scanf("%d", &a);
fg[a]++;
}
mx = 0;

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

if(fg[i] > mx)
{
mx = fg[i];
mk = i;
}
}
printf("%d\n", mk);
}
return 0;
}