Posted on 2011-08-16 01:07
Uriel 閱讀(407)
評論(0) 編輯 收藏 引用 所屬分類:
考研&保研復試上機題
一個多月沒敲過代碼,打算是暑假復習考研的。。結果至今進展緩慢。。。
各種專業課,保研考試科目都還沒開始,但愿過幾天開始看數據結構能速度看完。。。
想想暑假以來,去合肥魔方比賽+玩,然后深圳夏令營玩一圈,新東方上半個月的課,各種親戚家跑跑,睡睡懶覺啥的,暑假都快要荒廢完了。。高數也只看了上冊的書和上冊一半的題目,單詞依舊各種記不住。。。
實在是覺得代碼也要不會敲了。。找了套最水的題目找找敲代碼的感覺,4道都只有1星的。。應該是因為時間比較久遠才會這么水吧。。又是中文題。。
1. 反序輸出
//2000年清華大學計算機研究生機試題 反序輸出
#include<stdio.h>
#include<stdlib.h>


int main()
{
char s[10];

while(gets(s) != NULL)
{
putchar(s[3]);
putchar(s[2]);
putchar(s[1]);
putchar(s[0]);
puts("");
}
return 0;
}2. abc
這題結果隨便湊湊就出來了,直接輸結果敲起來還快些
//2000年清華大學計算機研究生機試真題 abc
#include<stdio.h>
#include<stdlib.h>


int main()
{
int a, b, c;

for(a = 0; a <= 9; ++a)
{

for(b = 0; b <= 9; ++b)
{
if(a + b != 5) continue;

for(c = 0; c <= 9; ++c)
{
if(b + c == 3 && c == 1) printf("%d %d %d\n", a, b, c);
}
}
}
return 0;
}3. 完數VS盈數
//2000年清華大學計算機研究生機試題 完數VS盈數
#include<stdio.h>
#include<stdlib.h>

int a1[60], a2[60], n1, n2;


int main()
{
int i, j, tp;
n1 = n2 = 0;

for(i = 2; i <= 60; ++i)
{
tp = 0;

for(j = 1; j < i; ++j)
{
if(i % j == 0) tp += j;
}
if(tp == i) a1[n1++] = i;
else if(tp > i) a2[n2++] = i;
}
printf("E:");
for(i = 0; i < n1; ++i) printf(" %d", a1[i]);
puts("");
printf("G:");
for(i = 0; i < n2; ++i) printf(" %d", a2[i]);
puts("");
return 0;
}4. 成績排序
這題RE一次,因為把1000看成100了。。然后WA兩次,沒有看清是成績相同按名字,名字相同按年齡排。。話說題目貌似也沒說清年齡是從小到大還是從大到小。。不過如此水題罰時多次。。罪過罪過
//2000年清華大學計算機研究生機試題 成績排序
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<algorithm>
using namespace std;


struct M
{
char name[110];
int age, sco;
}p[1010];


bool cmp(M a, M b)
{
if(a.sco != b.sco) return a.sco < b.sco;
else if(strcmp(a.name, b.name) != 0) return strcmp(a.name, b.name) < 0;
else
return a.age < b.age;
}

int n;


int main()
{
int i;

while(~scanf("%d", &n))
{

for(i = 0; i < n; ++i)
{
scanf("%s %d %d", p[i].name, &p[i].age, &p[i].sco);
}
sort(p, p + n, cmp);

for(i = 0; i < n; ++i)
{
printf("%s %d %d\n", p[i].name, p[i].age, p[i].sco);
}
}
return 0;
}