Uriel's Corner

Research Associate @ Harvard University / Research Interests: Computer Vision, Biomedical Image Analysis, Machine Learning
posts - 0, comments - 50, trackbacks - 0, articles - 594
       一个多月没敲过代码,打算是暑假复习考研的。。结果至今进展缓慢。。。
       各种专业课,保研考试科目都还没开始,但愿过几天开始看数据结构能速度看完。。。
       想想暑假以来,去合肥魔方比赛+玩,然后深圳夏令营玩一圈,新东方上半个月的课,各种亲戚家跑跑,睡睡懒觉啥的,暑假都快要荒废完了。。高数也只看了上册的书和上册一半的题目,单词依旧各种记不住。。。

       实在是觉得代码也要不会敲了。。找了套最水的题目找找敲代码的感觉,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 != 5continue;
            
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) != 0return 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;
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理