C程序设计语言第2版习题2-6

C程序设计语言第2版习题2-6

###问题描述 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。 ###问题分解 1. 主函数main 2. 核心函数 setbits(x, p ,n, y), 此函数是算法核心,要做的事情就是通过一系列的位运算达到目的。大概分为以下几个步骤: - 假设x = X7X6X5X4X3X2X1X0, p = 4, n = 3, y = Y7Y6Y5Y4Y3Y2Y1Y0, 那么根据题意,我们期望得到的结果应该是 : X7X6X5Y2Y1Y...

编程 2019-06-12 PM 881℃ 0条
C程序设计语言第2版习题2-7

C程序设计语言第2版习题2-7

#### 问题描述 编写一个函数 invert(x, p, n),该函数返回对 x 执行下列操作后的结果值:将 x 中从第 p 位开始的 n 个(二进制)位求反(即,1 变成 0,0 变成 1),x 的其余各位保持不变。 ------ #### 问题分解 - 主函数main - 工具函数 setbits(x,p,n,y), 算法解析可以看上一篇文章 - 核心函数 invert(x, p ,n)。 这道题其实不难,只要联想一下2-6解决的问题,即可快速得到答案。我们来回顾一下2-6解决的问题:编写一个函数setbits(x, p ,n, y),该...

编程 2019-06-12 AM 867℃ 0条
C程序设计语言第2版习题2-4

C程序设计语言第2版习题2-4

###问题描述 编写函数squeeze(s1, s2), 把字符串s1中与字符串s2中字符匹配的所有字符都删除。 ###问题拆分 - 主函数 main - 接收用户输入字符串函数 get_line (注意不能按照书本上的getline,因为此函数已在stdio.h 中定义了) - 从s1中移除s2中包含的字符 函数 squeeze ###代码实现 ```c #include #define LINE 1000 int get_line(char s[]); int squeeze(char s[], char search[]); i...

编程 2019-06-06 PM 857℃ 0条
C程序设计语言第2版习题2-3

C程序设计语言第2版习题2-3

###问题描述 编写函数htoi(s), 把由十六进制数字组成的字符串(包含可选的前缀0X和0x),转化为与之等价的整数值, 字符串中包含的字符可以是0 - 9,A - F,a - f。 ###问题拆分 - 主函数main - 接收用户输入字符串函数 get_line (注意不能按照书本上的getline,因为次函数已在stdio.h 中定义了) - 将十六进制字符串转化成十进制整数的函数 htoi (这是核心) ###代码实现 ```c #include #define LINE 1000 //每行接收的最大字符数 #define DEC 1...

编程 2019-06-06 AM 1032℃ 0条