您的位置:首页 > 其它

鹅厂2015实习生笔试题

2015-06-11 20:40 309 查看
1、一个商场进行抽奖活动,有两个奖项,A奖项抽中的概率是1/6,B奖项抽中的概率是5/6,用C语言编码实现这个抽奖程序。

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

//抽奖函数:1/6的概率返回true,5/6的概率返回false
bool draw(){
int ran;
srand( (unsigned)time(NULL) );
ran = rand() % 6;
if(0 == ran)
return true;
else
return false;
}

int main(){
char ret;
if(draw())
ret = 'A';
else
ret = 'B';
printf("抽奖结果为: %c\n", ret);
return 0;
}


2、在不使用sizeof()函数的情况下,取出本机的整形所占位数,如32位、64位等。

#include <stdio.h>

int numOfInt(){
int num1;
int num2 = 0;
char *p1 = (char *)&num1;
char *p2 = (char *)&num2;
for(int num = 0; num < 8; ++num){
p1[num] = p2[num];
if(num1 == num2)
return ++num;
}
return -1;
}

int main(){
printf("本台计算机整形所占位数为: %d\n", numOfInt() * 8);
return 0;
}


3、在某个C/S模型中,服务器最大的处理量是每秒10000次,设计一个算法,保证服务器可以正常运行。

#include <time.h>

double Clock_Start = 0;
double Clock_End = 0;
int count = 0;
bool client = false;

void ProtectServer(){
while(1){   //是服务端一直运行
if(Clock_End >= 1000){
/*处理当前等待队列的所有请求*/
Clock_Start = clock(); //记录当前时间
count = 0;
}
if(client){
if(count < 10000){
count++;
}
else{
/*给服务器抛出满载异常*/
}
}
client = false;
Clock_End = clock() = Clock_Start;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: