智乐(gameloft)软件(成都)公司C++笔试,面试题

来源:互联网 发布:怎么关闭mac打开的图标 编辑:程序博客网 时间:2024/04/29 23:08

每个编程题本身不难,但难在要求尽可能的高效实现,最终的得分很大程度上由此决定。 

1:写一个函数:bool fun(int num)实现判断一个数字是否为质数。

2:写一个函数:void disp()输出1到100的数字,如果数字是3的倍数则输出Nab,如果数字是5的倍数输出Zif,如果数字即是3的倍数又是5的倍数输出ZifNib,其他情况输出该         数字。

3: 写一个函数,short fun(int color)将一个32位的颜色值 压缩为16位,压缩方式通常为丢弃颜色值的低位,保留高位,32位颜色值的格式                为XXXXXXXXRRRRRRRRGGGGGGGGBBBBBBBB,假设高8位无作用。压缩后的16位颜色值应该为RRRRRBBBBBBGGGGG.

4:   写一个函数实现字符串的压缩存储,函数原型为 void fun(char *str),假设输入字符串只含字母,压缩方式为:如果字符串中出现连续相同字符,则存储为字符的重         复次数+字符本身,如果字母不连续出现,则存储源字符,例如:strStr = “ABBCCCDBB”, 则压缩后的字符串为 “A2B3CD2B”。

5:写一个int max(int a, int b),实现求a ,b中的最大数,要求不能用if else语句,不能用条件运算符,不能用循环,不能用switch。

6:将一个整数进行移位运算,左移时各个编译器均在最右侧移入0,但右移时,根据编译器的不同,某些编译器左侧移入0,某些编译器移入符号位。写一个函数 屏蔽掉编译器之         间的差别,使右移运算可以按照我们的方式规定来移入0或者符号位,函数原型为 int fun(int num, int bit, int  flag),num表示待移位整形数字,bit表示移位的位数,flag为       0表示最左侧移入0,flag为 非0表示移入符号位。


原创粉丝点击