云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第五章习题答案.

第五章习题答案.

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 7:10:55

t=pi[j]; //交换索引数

组元素值

pi[j]=pi[j+1]; pi[j+1]= t;

} } }

void Output(const person all[], int pi[], const

int n)

{

for( int i=0; i

后数据

cout<

}

5.有以下结构说明和遍历单向链表的函数。函数内有错误吗?是什么性质的错误?请上机验证你的分析。

struct Node {

int data; Node ? next; };

void ShowList( Node ?head ) {

while( head )

{

cout << head->date << '\\n';

head ++; } }

【解答】

head++错误,原因是动态链表的结点存放不是连续顺序的内存空间,它们是逐个结点通过new建立的,所以不能用++做地址偏移运算。应该用:

head=head->next;

5.4 编程题

1.编写程序,将一个整型变量右移4位,并以二进制形式输出该整数在移位前和移位后的数值。观察系统填补空缺的数位情况。

#include using namespace std;

void bitDisplay(unsigned value); int main() {

unsigned x;

cout << \

cin >> x; bitDisplay(x); x>>=4;

2.数

cout<<\ bitDisplay(x); }

void bitDisplay(unsigned value) {

unsigned c;

unsigned bitmask = 1<<31; cout << value << \ for( c=1; c<=32; c++ ) {

cout << ( value&bitmask ? '1' : '0' ); value <<= 1; if( c%8 == 0 ) cout << ' '; }

cout << endl; }

整数左移一位相当于将该数乘以2。编写一个函 unsigned power2( unsigned number, unsigned pow ); 使用移位运算计算number*2pow,并以整数形式输出计算结果。注意考虑数据的溢出。 【解答】

unsigned power2( unsigned number, unsigned

pow )

{

unsigned c=1;

unsigned bitmask = 1<<31; while(c<31) //溢出判断 {

if( number&bitmask ) break; //查找最

高位的1 即判断c为何值时最高位为1,判断可左移的最大次数

c++; bitmask>>=1; }

if(pow

cout<<\

搜索更多关于: 第五章习题答案. 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

t=pi[j]; //交换索引数组元素值 pi[j]=pi[j+1]; pi[j+1]= t; } } } void Output(const person all[], int pi[], const int n) { for( int i=0; i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com