首页 程序设计作业1

程序设计作业1

举报
开通vip

程序设计作业1 程序设计作业 1    一.  程序运行结果题  1)  写出下面这段程序的输出结果:  main()  {        int a[5]={1,2,3,4,5};        int *ptr=(int *)(&a+1);        printf("%d,%d",*(a+1),*(ptr‐1));  }  2)写出下面这段程序的运行结果:  #include  main(){  int x=0,y[14];  int *z=(int*)&y;  *(z++)=0x48;*(z++)=y[x++]+0x...

程序设计作业1
程序设计作业 1    一.  程序运行结果题  1)  写出下面这段程序的输出结果:  main()  {        int a[5]={1,2,3,4,5};        int *ptr=(int *)(&a+1);        printf("%d,%d",*(a+1),*(ptr‐1));  }  2)写出下面这段程序的运行结果:  #include  main(){  int x=0,y[14];  int *z=(int*)&y;  *(z++)=0x48;*(z++)=y[x++]+0x1D;  *(z++)=y[x++]+0x07;*(z++)=y[x++]+0x00;*(z++)=y[x++]+0x03;              *(z++)=y[x++]‐0x43;*(z++)=y[x++]‐0x0C;*(z++)=y[x++]+0x57;              *(z++)=y[x++]‐0x08;*(z++)=y[x++]+0x03;*(z++)=y[x++]‐0x06;              *(z++)=y[x++]‐0x08;*(z++)=y[x++]‐0x43;*(z++)=y[x]‐0x21;                x=*(‐‐z);  while(y[x]!=NULL)putchar(y[x++]);  }    二.  程序改错题  1)  分别找出以下三个函数中的错误,并改正:  void test1()  { char string[10];  char* str1 = "0123456789";  strcpy( string, str1 );  }  void test2()  { char string[10], str1[10];  int i;  for(i=0; i<10; i++)  {  str1 = 'a';  }  strcpy( string, str1 );  }  void test3(char* str1)  { char string[10];  if( strlen( str1 ) <= 10 )  {  strcpy( string, str1 );  }  }  2)  下面的 C程序想要输出 10个星号,但粗心的程序员把代码写错了,你需要把以下代码改正, 但你只能增加或修改其中的一个字符,请给出两种以上的修改方法。  int n = 10;        for(int i = 0; i < n; i‐‐)  {          printf("*");      }      三.  编程题(任选其中三道题)  1)  实现程序,打印出以下的序列:  (a),(b),(c),(d),(e)........(z)  (a,b),(a,c),(a,d),(a,e)......(a,z),(b,c),(b,d).....(b,z),(c,d).....(y,z)  (a,b,c),(a,b,d)....(a,b,z),(a,c,d)....(x,y,z)  ....  (a,b,c,d,.....x,y,z)。  2)  将一个数字字符串转换为数字(不调用库函数),例如:"1234"  转化为 1234。  3)  对于一个字节(8bit)的数据,求其中二进制“1”的个数,要求算法的执行效率尽可能地 高,并写出你的算法时间复杂度。  4)  编写类 String的构造函数、析构函数和赋值函数,已知类 String的原型为:  class String  {  public:    String(const char *str = NULL);//普通构造函数    String(const String &other);//拷贝构造函数    ~String(void);//析构函数    String & operate = (const String &other);//赋值函数  private:    char *m_data;//用于保存字符串  };  5)  有一根 27 厘米的细木杆,在第 3 厘米、7 厘米、11 厘米、17 厘米、23 厘米这五个位置上 各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意 的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝 反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆的最 小时间和最大时间。    四.逻辑推理题(任选其中两道题)  1)  四人要在 17 分钟内得赶到某地,途中需跨过一座桥,四个人从桥的同一端出发,你得帮助 他们到达另一端,天色很暗,而他们只有一只手电筒。一次同时最多可以有两人一起过桥, 而过桥的时候必须持有手电筒,手电筒是不能用丢的方式来传递的。四个人的步行速度各不 同,若两人同行则以较慢者的速度为准。A 需花 1 分钟过桥,B 需花 2 分钟过桥,C 需花 5 分 钟过桥,D需花 10 分钟过桥。你如何才能让他们在 17 分钟内过桥呢?  2)在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法 来区分那个开关控制那一盏灯。  3) 12 个球,其中一个重量不一样,称三次,找出不一样的那个。   
本文档为【程序设计作业1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_387567
暂无简介~
格式:pdf
大小:151KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2012-11-30
浏览量:3