2019年2月13日

改正字符数组中的内容

摘要: 有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student". 要求: 不能使用库函数。 只能开辟有限个空间(空间个数和字符串的长度无关)。 student a am i i ma a tneduts i am a student 阅读全文

posted @ 2019-02-13 23:44 The_Ocean 阅读(169) 评论(0) 推荐(0) 编辑

2019年2月11日

找出一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的(使用位运算)

摘要: 要求使用位运算 异或运算:相同为0,不同为1, a[]={1,2,5,6,8,8,1,2,6} 1^x=-x , 0^x=x b[]={1,1,2,2,5,6,6,8,8} 举例a[] 1: 0 0 0 1 2: 0 0 1 0 0011--> 1与2异或运算的结果 5: 0 1 0 1 0110- 阅读全文

posted @ 2019-02-11 22:31 The_Ocean 阅读(350) 评论(0) 推荐(0) 编辑

求两个数的平均值,不能只用(a+b)/2的方法

摘要: 1 #include 2 3 int avg1(int a, int b) 4 { 5 //利用移位操作符 6 //右移移位相当于——>除以2 :(a+b)>>1 7 //考虑到溢出情况:1.可以增加字节的大小将4个字节变为8个字节 8 return a + ((b - a) >> 1); 9 } 10 11 int avg2(int ... 阅读全文

posted @ 2019-02-11 21:53 The_Ocean 阅读(554) 评论(0) 推荐(0) 编辑

写一个函数实现整数的二进制位模式从左到右翻转

摘要: 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000000000000000000 程序结果返回: 2550136832 思路:第1位逆转到了第32位->后整数的值为2^3 阅读全文

posted @ 2019-02-11 21:04 The_Ocean 阅读(377) 评论(0) 推荐(0) 编辑

两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同

摘要: 思路:利用&用算加右移的方法来提取二进制中的每一位数,然后进行比较,查看是否相同。 阅读全文

posted @ 2019-02-11 10:04 The_Ocean 阅读(381) 评论(0) 推荐(0) 编辑

获取一个数二进制序列中所有的偶数位和奇数位

摘要: 思路:要判断一个整数的二进制偶数位是0还是1,则可以用这个整数和1或2进行&的用算,之后进行右移在进行&的用算,直到右移为0结束。 可以利用这种方法提取二进制数。 阅读全文

posted @ 2019-02-11 10:00 The_Ocean 阅读(742) 评论(0) 推荐(0) 编辑

2019年2月9日

扫雷小游戏

摘要: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 #include 5 6 #define ROW 9 7 #define COL 9 8 #define MINE_COUNT 10 9 10 int Menu() 11 { 12 printf("===============... 阅读全文

posted @ 2019-02-09 18:11 The_Ocean 阅读(315) 评论(0) 推荐(0) 编辑

2019年2月7日

写一个函数返回参数二进制中1的个数

摘要: 8 二进制为:0000 1000=> 8/2=4 4/2=2 2/2=1(一的个数为1) 11 二进制为:0000 1011=> 11/2=5...1 5/2=2...1 2/2=1(一的个数为3) 31 二进制为:0001 1111=> 31/2=15...1 15/2=7...1 7/2=3.. 阅读全文

posted @ 2019-02-07 15:05 The_Ocean 阅读(409) 评论(0) 推荐(0) 编辑

2019年2月6日

三子棋小游戏

摘要: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include 3 #include 4 #include 5 6 #define ROW 3 7 #define COL 3 8 9 char g_broad[ROW][COL]; 10 11 void Init(char broad[ROW][COL]) 12 { 13... 阅读全文

posted @ 2019-02-06 16:52 The_Ocean 阅读(391) 评论(0) 推荐(0) 编辑

2019年2月2日

递归方式实现打印一个整数的每一位

摘要: 思路:与提取整数的每一位数字一样,如果输入的是1位数字,则可以直接输出,如果是2位数字则可以先将其除10化为一位数字,在输出。3位数也是如此,先化为2位数字,在进行2位数的步骤。 注意:正在这里需要注意,因为需要从高位开始打印数字,所以需要将打印放在函数调用的后面。 阅读全文

posted @ 2019-02-02 11:57 The_Ocean 阅读(1494) 评论(0) 推荐(0) 编辑

导航