题目集合

4 views
Skip to first unread message

jsj...@sohu.com

unread,
Oct 22, 2005, 9:19:06 AM10/22/05
to 字符创造世界
欢迎粘贴各种经典的题目或者好的面试题

jsj...@sohu.com

unread,
Oct 22, 2005, 9:20:31 AM10/22/05
to 字符创造世界
MOTO面试题
1.打印如下图案,共19行,只能有一个for循环(题目已经提供)
* 
*** 
***** 
******* 
********* 
***********
************* 
*************** 
***************** 
*******************
***************** 
*************** 
************* 
*********** 
********* 
******* 
***** 
*** 
* 
for(i=0;i<19;i++)
{

}
2.
void fun(int x)
{
if(x/2>0)fun(x/2);
printf("%d",x);
}
求fun(10)的输出结果
3。
#define f1(n) (n)*(n)

int i=5;
int k=0;
k=f1(i++);
printf("%d %d",i,k);
输出结果:
4。下面那个for循环是无限循环
for(int i=010;i==10;i+=0)

for(int i=10;(i++^--i)==0;i+=0)
还有几个忘了

5.Email relay 和Email
access分别用了什么协议?(其他还有很多,略)
6。in a mobile phone,软件运行期,stack data 存在于
a.rom,b.flash c.eeprom d.ram e.none of the above
7.
int i;
int x=0x12345678;
unsigned char *p=(unsigned char *)&x;
for(i=0;i<sizeof(x);i++)
printf("%2x",*(p+i));

在80x86pc机器上运行结果
Sun Sparc Unix上运行结果

8.
char a[2][2][3]={{{1,6,3},{5,4,15}},{{3,5,33},{23,12,7}} };

for(int i=0;i<12;i++)
printf("%d ",_______);
空格处填上合适的语句,顺序打印出a中的数字
9。void fun(char *a,char *b)
{
a=b;
(*a)++;
}
void main()
{
char s1='A',s2='a';
char *p1=&s1;
char *p2=&s2;
fun(p1,p2);
printf("%c%c",s1,s2);
输出结果:
10。写一个strstr()函数

jsj...@sohu.com

unread,
Oct 22, 2005, 9:21:32 AM10/22/05
to 字符创造世界
还是moto的
class human
{
public:
human() { human_num++;};
static int human_num;
~human(){
human_num--;
print();
}
void print()
{
cout<<"human nun is: "<<human_num<<endl;
}
protected:
private:
};
int human::human_num = 0;

human f1(human x)
{
x.print();
return x;
}

int main(int argc, char* argv[])
{
human h1;
h1.print();
human h2 = f1(h1);
h2.print();

return 0;
}

Message has been deleted

jsj...@sohu.com

unread,
Oct 24, 2005, 8:45:13 AM10/24/05
to 字符创造世界
MS的面试题
五个海盗抢到100颗宝石,每一颗都一样大小和价值连城。他们决定这么分:

抽签决定自己的号码(1、2、3、4、5)
首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼

如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼依此类推

条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。
问题:第一个海盗提出怎样的分配方案才能使自己的收益最大?

答案::1号98个,2号1个,3号0个,4号1个,5号0个.
分析::
1-4号全进海,5独得100,所以5谁的意见都不同意;
1-3号进海,4号要么进海,要么得0个;
1-2号进海,3号得99个,4号1个,5号0个;所以3号无99个不会同意;
1号进海,2号得0个,否则进海(给3号99个,4号1个);
满足2个人最大利益,所以........

jsj...@sohu.com

unread,
Oct 26, 2005, 8:32:50 PM10/26/05
to 字符创造世界
1,要对绝对地址0x100000赋值,我们可以用
(unsigned int*)0x100000 = 1234;
那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?
<使用函数跳转 void (*fun)(void) = 0x100000; fun()>

2,已知一个数组table,用一个宏定义,求出数据的元素个数
#define NTBL
3,求1000!的未尾有几个0(用素数相乘的方法来做,如72=2*2*2*3*3);

<0个数就是1~10000中2和5的倍数>

jsj...@sohu.com

unread,
Oct 26, 2005, 8:52:58 PM10/26/05
to 字符创造世界
日本数学家桥本吉彦教授—1:1993年10月在我国山东举行的中日美三国数学教育研讨会上向与会者提出以下填数趣题:把1,2.…,9这九个数字填入下式的九个方格口中(不得重复).使下面的分数等式成立
口 口 口
—— + —— = ——
口口 口口 口口

德国数学家哥德巴赫(GoLdbach)在1725年写给欧拉(Euler)的信中写下了以下猜想:任何大于2的偶数都是两个素数之和(俗称为1+1。两个多世纪过去了,这一猜想既无法证明.也没被推翻。
试设计程序验证指定区间上这一猜想是否成立。

对于一个偶数,找出一个小于它的数,判断是否是素数,如果是就计算该偶数与该素数的差并判断它是否是素数。如果两者都是素数则猜想得到验证。
注意只用验证到该偶数的一半就可以了


约瑟夫问题

这是17世纪的法国数学家加斯帕在《数目的游戏问题》中讲的一个故事:15个教徒和15个
非教徒在海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法:30个人围成一个圆圈,从第一个人开始依次报数,每数到第9个人就将他扔入大海,如此循环进行直到仅余l
5个人为止。问怎样排法,才能使每次投入大海的都是非教徒。

基本思路
设定一个数组,对应为为0表示该人被扔下了海,设定三个量,一个计算当前报数人的位置,一个计算当前报数,一个计数。模拟报数过程,遇到已经扔下海的位置就跳过。

jsj...@sohu.com

unread,
Oct 29, 2005, 4:26:34 AM10/29/05
to 字符创造世界
打印类似下面图片的程序,
不准使用printf以外的任何函数,
不准使用各种比较操作(循环例外)
1 12 11 10
2 13 16 9
3 14 15 8
4 5 6 7
谁能比我用的语句少
甭看我程序长,我语句少

#include <stdio.h>

int main()
{
int n=15;
for (int k=1;k<=n*n;k++)
{
printf("%4d%s",
(((((k+n-1)/n)-((k-1)%n+1))%2+(((k+n-1)/n)-
((k-1)%n+1)+1)%2+1)/2)*(((k+n-1)/n)+
((k-1)%n+1)+1-2*(((n+1-(((k+n-1)/n)+
((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2
+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)+((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2)
-(((n+1-(((k+n-1)/n)+((k+n-1)/n)
-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)
+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)
%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)+((k-1)%n+1)-n-1)%2
+(((k-1)%n+1)+((k-1)%n+1)-n)%2))
/2))*((((n+1-(((k+n-1)/n)+((k+n-1)/n)-n-1)
*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)
+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)+
((k-1)%n+1)-n-1)*((((k-1)%n+1)+((k-1)%n+1)-n-1)
%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2))%2+(((n+1
-(((k+n-1)/n)+((k+n-1)/n)-n-1)*((((k+n-1)/n)
+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)
-((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)
*((((k-1)%n+1)+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)
+((k-1)%n+1)-n)%2))/2)+1)%2))/2)+(1-(((((
k+n-1)/n)-((k-1)%n+1))%2+(((k+n-1)/n)-((k-1)%n+1)+1)%2
+1)/2))*(n*4+5-6*(((n+1-(((k+n-1)/n)
+((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2
+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)+
((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)
%n+1)-n)%2))/2)-(((n+1-(((k+n-1)/n)+((k+n-1)/n)-n-1)
*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2
+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2))
*((((n+1-(((k+n-1)/n)+((k+n-1)/n)
-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)
+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)
%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)+((k-1)%n+1)-n-1)%2
+(((k-1)%n+1)+((k-1)%n+1)-n)
%2))/2))%2+(((n+1-(((k+n-1)/n)+((k+n-1)/n)-n-1)
*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n
-1)/n)+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)+((k-1)%n+1)
-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2)+1)%2))/2
-((k+n-1)/n)-((k-1)%n+1))+((((n+1-(((k+
n-1)/n)+((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2
+(((k+n-1)/n)+((k+n-1)/n)-n)
%2))/2)+((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)
*((((k-1)%n+1)+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)
+((k-1)%n+1)-n)%2))/2)-(((n+1-(((k+n-1)/n)
+((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)
%2+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2))
*((((n+1-(((k+n-1)/n)+((k+n-1)/n)
-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)
+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)
%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)+((k-1)%n+1)
-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)
%2))/2))%2+(((n+1-(((k+n-1)/n)+((k+n-1)/n)-n-1)
*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+
(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)
-n)%2))/2)+1)%2))/2-1)*(n*2+2-2*(((n+1
-(((k+n-1)/n)+((k+n-1)/n)-n-1)*((((k+n-1)/n)
+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)+
((k+n-1)/n)-n)%2))/2)+((n+1-(((k-1)%n+1)
+((k-1)%n+1)-n-1)*((((k-1)%n+1)+
((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2)
-(((n+1-(((k+n-1)/n)+
((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2
+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)
-((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)
+((k-1)%n+1)-n)%2))/2))*((((n+1-(((k+n-1)/n)
+((k+n-1)/n)-n-1)*((((k+n-1)/n)+((k+n-1)/n)
-n-1)%2+(((k+n-1)/n)+((k+n-1)/n)-n)%2))/2)
-((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)
*((((k-1)%n+1)+((k-1)%n+1)-n-1)%2+
(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2))%2
+(((n+1-(((k+n-1)/n)+((k+n-1)/n)-n-1)
*((((k+n-1)/n)+((k+n-1)/n)-n-1)%2+(((k+n-1)/n)
+((k+n-1)/n)-n)%2))/2)-((n+1-(((k-1)%n+1)+((k-1)%n+1)-n-1)*((((k-1)%n+1)
+((k-1)%n+1)-n-1)%2+(((k-1)%n+1)+((k-1)%n+1)-n)%2))/2)+1)%2))/2)*2,
"\n\0\0"+ (k%n-1)%2+(k%n)%2+1);
}
}

jsj...@sohu.com

unread,
Nov 1, 2005, 7:59:27 AM11/1/05
to 字符创造世界
1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句

2.如何输出源文件的标题和目前执行行的行数
3.两个数相乘,小数点后位数没有限制,请写一个高精度算法
4.写一个病毒
有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟
,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内
这四个人都过桥?

Reply all
Reply to author
Forward
0 new messages