您的当前位置:首页正文

大连华信2010年校园笔试及答案

2024-03-24 来源:易榕旅网


2010年大连华信校园笔试题及答案

一、 逻辑题(这3道逻辑题华信以前都是考过的,好像是07年,做过之后网上找答案是才发现的。)

1、 某公司男女比例为5:3,该公司又分为总公司和子公司,人数比例为3:2,总公司男女比例7:5,子公司有35名女员工,总公司和子公司共有男员工多少人?

首先要看清题目,是要求男员工总数,而不是总公司和子公司各有多少男员工!

设共有男员工5x人,则

公司女员工数是3x人

公司共有员工是5x+3x=8x

总公司女员工数:3/5*8x*5/12=2x

故3x – 2x = 35 x = 35

答案:5x = 175

2、 10个人分100斤苹果,年龄从小到大,每两人相差的重量都一样,又知第八个人分到6斤,每两人相差的苹果重量是多少?

设第一个人分到的重量是x,每两人相差的重量是y,由题意

X + 7y = 6

X +(x+y) + (x+2y) + ….+(x+9y)=10x + 45y = 100

得到y= - 1.6

故可知每两人相差的苹果重量是1.6斤

3、 哥五个各有一些糖块,大的比小的多,老大把自己的分给大家一些,谁有多少块再分给谁多少块,然后老二把现有的块数分给大家一些,谁有多少块再分给谁多少块,老三、老四、老五依次类推,最后五个人每人都有32块糖,问最初每人各有多少块糖?

这题可用逆推的方式求得

设初始值: a b c d e

老大分后: ? 2b 2c 2d 2e

老二分后: ? ? 4c 4d 4e

老三分后: ? ? ? 8d 8e

老四分后: ? ? ? ? 16e

老五分后: 32 32 32 32 32

逆推可知老四分后各值为:

16 16 16 16 32*5 – 16*4=16e

得到e = 6

同理可得知老三分后为

8 8 8 8d=160-72 8e=48

得到d=11

同理可得到其他值依次为

81 41 21 11 6

二、 编程题

1、 写一个函数统计其中出现的特殊字符的个数,依次存放在b【10】数组中,存放如下:

~ b[0]

! b[1]

@b[2]

#b[3]

$b[4]

%b[5]

^b[6]

&b[7]

*b[8]

其他b[9]

可用Java或c实现

我写的大概如下:

viod fun(char[] str){

int[] b = new int[10];

for(int i=0;iSwitch(str[i]){

case ‘~’:b[0]++;break;

case ‘!’:b[1]++;break;

case ‘@’:b[2]++;break;

case ‘#’:b[3]++;break;

case ‘$’:b[4]++;break;

case ‘%’:b[5]++;break;

case ‘^’:b[6]++;break;

case ‘&’:b[7]++;break;

case ‘*’:b[8]++;break;

default:b[9]++;

}

}

}

2、给出如下的链表定义:

typedef struct structLink {

int value;

struct structLink *pHead;

};

分别写出对删除第一个节点、最后一个节点、和制定节点的函数

#define ERROR -1

#define SUCCESS 1

int delectHead(structLink &link){

if(link->pHead == NULL) return ERROR;

link = link->pHead;

return SUCCESS;

}

int deleteTail(structLink &link){

if(link->pHead == NULL) return ERROR;

while(link->pHead->pHead != NULL){

link = link->pHead;

}

Link->pHead = NULL;

return SUCCESS;

}

int deleteNode(structLink &link, int n){

int i = 0;

structLink p = link;

if(link->pHead == NULL) return ERROR;

while(ipHead!=NULL){

p = p->pHead;

i++;

}

if(i>n || !p) return SUCCESS;

p->pHead = p->pHead->pHead;

return SUCCESS;

}

3、关于世博会国家馆门票的,设中国馆门票为100元/人,德国馆门票为10元/人,日本馆门票为10/3元/人。假设有一个单位有100人,打算用1000元来购置门票,要求:

每个国家馆的门票都要求至少有一张

每人都要有一张门票,不能多也不能少

1000元必须都花完,不能多也不能少

编程共有多少种购票方案?

void funBuy(){

int count = 0;

for(int i=1;i<=98;i++){

for(int j=1;j<=98;j++){

if(100*i + 10*j + 10/3*(100-i-j)==1000)

count++;

}

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容