1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
2.如何输出源文件的标题和目前执行行的行数
3.两个数相乘,小数点后位数没有限制,请写一个高精度算法
4.写一个病毒
5.有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?
第1题: 大致思路应该是先c=a-b; 然后把c转换成2进制,它的最高位是1的话就为负,就是a小,
关键是怎么取c的最高位,c&(1<<(sizeof(c)-1)等于2的sizeof(c)-1次方的话最高位就是1,我觉得很经典.
第2题:1,2->
1<-
5,10->
2<-
1,2->
博客包含几道C语言面试算法题,如定义宏比较两数大小、输出源文件标题和执行行的行数、高精度乘法算法、写病毒,还有过桥时间规划问题。并给出了比较两数大小题的大致思路,通过计算差值取最高位判断大小。
16万+

被折叠的 条评论
为什么被折叠?



