中科院计算所2017推免生机试

9月18号去计算所参加推免生的机试。。。9月19号去计算所参加推免生的面试。。。9月20号堕落在北京的青旅里,不能出门。。。

首先是不得不承认,计算所的环境很好,真的很好。然后就是机试,6道题目,两个小时,没有网络。其实后来自己在看,觉得最起码有两个题目是简单到我这种人都可以做出来的,无奈自己太渣,机试就跪的哟。最后是面试,项目真的太少,以至于老师一直在问我我的社会实践。。。回来之后,一起住的去面试清华的大牛告诉我,这种事情其实都是有套路,而且之前要想一下老师会问什么,然后想一下怎么回答。大牛是真的不一样的,比如傅里叶级数,我就只会做题,大牛就会想知道这个有什么用。厉害的人就是厉害,就是会在思维方式上面不一样。嗯,会在专业上想的比较深入。这样想来,自己好像理解了会汇编的高老师说的我们没有思考的能力的意思,像一只蝼蚁一样。我一定要改,我改还不行吗。

然后就是题目了.

1.用链表表示一个整数集,实现:

a.将一个整数插入整数集;

b.从整数集中删除一个整数;

c.两个整数集的交集;

d.两个整数集的并集。

2.将一个用字符串表示的数,表示为整型数

3.A是用任意个(大于等于一个)数字和字母表示的字符串,B是用0个或多个任意数字和字母表示的字符串,请编程输出B串在A串中第一次出现的位置,或者输出不出现。

4.求圆周率,写出计算公式,并计算出时间复杂度。

5.请根据输入的点集判断这些点构成的多边形是否为凸多边形。

6.计算输入的数学表达式的值,数学表达式中包括+、-、*、/、(、)。

上面的题目全凭记忆,和原题意思一样,表述的比较有误差。

我只实现了1、2、3、4。下面是代码:

第一题:

第一题本质上感觉就是链表的实现。

set.h

#include<stdio.h>
#include<stdlib.h>


typedef struct intSet set;
typedef struct intSet* setList;

struct intSet
{
	int i;
	set* next;
};


void printList(setList s);
setList insertInt(int x, setList s);
setList deleteInt(int x, setList s);
setList extractSet(setList s1, setList s2);
setList unionSet(setList s1, setList s2);

set.cpp

#include"stdafx.h"
#include"set.h"


void printList(setList s)
{
	if (s->next == NULL)
		pri
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值