- 博客(5)
- 收藏
- 关注
原创 实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB
#include #include void left_move(char *p, int num){ int i = 0; for (i = 0; i < num; i++) { char tmp = *p; int j = 0; while (*(p + 1 + j)) {
2017-01-05 16:17:58
459
原创 使用宏将一个数二进制中的奇数位和偶数为进行交换。
0x555555555516进制转换成2进制为0101 0101 0101 0101 0101 0101 0101 0101 与 NUM 按位与运算 得到 NUM的 奇数位,向左移动一位到偶数位,0xaaaaaaaa16进制转化为2进制为0010 1010 1010 1010 1010 1010 1010 1010与 NUM与运算得到 NUM的偶数位,向右移动一位到奇数位,在做 或运算 就交换了奇
2017-01-05 16:15:08
241
原创 调整数组使奇数全部都位于偶数前面。
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include#includevoid change(int *arr,int sz){ int tmp = 0; int left = 0; int right = sz-1; while(left<=right) { if(arr[left]
2016-12-22 16:16:23
232
原创 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
#include #include int main (){ int m = 0; int n = 0; int tmp = 0; int count = 0; printf("输入两个整数\n"); scanf("%d%d",&m,&n); tmp = m^n; while(tmp>0) { if (tmp%2==1) count++; tmp=tmp/2
2016-12-16 19:15:39
234
原创 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
void init(int arr[]){int i = 0;int arr[5]={1,2,3,4,5};for (i=0; iprintf("%d",arr[i]);}void empty(int arr[]){int i = 0;for (i=0; iprintf("%d",arr[i]);}void reverse(int
2016-12-16 17:59:18
235
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人