Posted on 2011-09-25 19:33
Uriel 阅读(250)
评论(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;
}