1、现在小明一家过一座桥,过桥时候是黑夜,所以必须有灯.现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次过桥只能过2人,两人过桥的速度以最慢者为定。还有过桥后要已过桥的其中一人送灯也算秒速,而灯在30秒后就会熄灭,过桥时不能没有灯。问小明一家怎样过桥?
2、A、B、C、D四个人,他们分别来自英、法、德、美四个国家,现已知德国人是医生,美国人年龄最小且是警察,C比德国人年纪大,B是法官且是英国人的朋友,D从未学过医,由此判断C来自哪里
3、 8瓶酒一瓶有毒,用人测试。每次测试结果8小时后才会得出,而你只有8个小时的时间。问最少需要几个人测试?写出运算过程。
4、 下面程序输出什么结果
#include <iostream> extern char ext_String[] = "hello yealink!"; char * func() { char func_String [] ="hello yealink!"; return func_String; } int main() { static char sta_String[] = "hello yealink!"; char *func_String = func(); cout<<"Static: "<<sta_String+6<<endl; cout<<"Extern: "<<ext_String+6<<endl; cout<<"Temp: "<<func_String+6<<endl; return 0; }
5、指出下面程序的错误,并改正
class A { public: void func() { m_str = NULL; m_str = new char[128]; m_str = 'a'; delete m_str; } private: char *m_str; }; int main() { A a; A *p = NULL; { p = &a; p->func(); } return 0; }
6、写出下面程序的输出结果。
class Father { public: void name(){cout<<"Father name"<<endl;} virtual void call(){cout<<"Father call"<<endl;} }; class Son:public Father { public: void name(){cout<<"Son name"<<endl;} virtual void call(){cout<<"Son call"<<endl;} }; int main() { Son *s1 = new Son(); Father *f1 = (Father *)s1; f1->call(); f1->name(); ((Son*)f1)->call(); ((Son*)f1)->name(); Father *f2 = new Father(); Son *s2 = (Son*)f2; s2->call(); s2->name(); ((Father*)s2)->call(); ((Father*)s2)->name(); return 0; }
7、编写程序,将字符串转换为数字,函数原型 bool strToNum( char *pStr, int &num),pStr是输入的字符串,num为转换后的结果,返回值表示转换成功或失败。
8、有一个写者多个读者,可以有多个读者同时读,但是在读者读时不允许写,在写者写时不允许读。请编写程序实现。