2017-12-11
来源:互联网 发布:2016网络流行语口头禅 编辑:程序博客网 时间:2024/06/05 19:56
1.编写函数:
unsigned int reverse_bit(unsigned int value);
这个函数的返回值value的二进制位模式从左到右翻转后的值。
如:
在32位机器上25这个值包含下列各位:
00000000000000000000000000011001
翻转后:(2550136832)
10011000000000000000000000000000
程序结果返回:
2550136832
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>unsigned int reverse_bit(unsigned int x){ unsigned int y=0; int tmp=0; int n=0; for (n=0;n<32;n++) { tmp=x&1; y<<=1; y|=tmp; x>>=1; } return y;}int main(){ unsigned int x=0; printf("请输入一个整型数:\n"); scanf("%d",&x); printf("该数二进制序列的逆序值为%u\n",reverse_bit(x)); return 0;}
2.不使用(a+b)/2这种方式,求两个数的平均值。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int my_average(int x,int y){ x>>=1; y>>=1; return (x+y);}int main(){ int x=0; int y=0; printf("请输入2个整型数:\n"); scanf("%d%d",&x,&y); printf("%d\n",my_average(x,y) ); return 0;}
3.编程实现:
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。
请找出这个数字。(使用位运算)
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int search(int arr[],int sz){ int i=0; int tmp=0; for (i=0;i<sz;i++) { tmp=tmp^arr[i]; } for (i=0;i<sz;i++) { if(tmp==arr[i]) return i; } return sz+1;}int main(){ int n=0; int arr[]={1,2,3,3,2}; int sz=sizeof (arr)/sizeof(arr[0]); n=search(arr,sz); if (n>sz+1) { printf("该组数据中没有单独的数据\n"); } else printf("该组数据中单独的数据是%d\n",arr[n]); return 0;}
有一个字符数组的内容为:”student a am i”,请你将数组的内容改为”i am a student”.
要求:
不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int my_strlen(char arr[]){ int i=0; for (i=0;arr[i]!='\0';i++) { ; } return i;}int main(){ char arr[]={"student a am i"}; char arr1[20][20]={0}; int i=0; int j=0; int n=0; int sz=my_strlen(arr); while (1) { for (j=0;(arr[n]!=' ')&&(n<sz);n++,j++) { arr1[i][j]=arr[n]; } arr1[i][j]='\0'; if (n==sz) { break; } i++; n++; } for (;i>=0;i--) { printf("%s ",arr1[i]); } return 0;}
阅读全文
0 0
- 2017-8-11&&12
- 2017-11-12立长志
- 总结-2017/11/12
- 2017-12-11
- 2017-12-11
- 2017/12/11
- 2017-12-11
- 2017-12-11
- 2017-12-11
- 2017/12/11
- 总结 2017-12-11
- 新生赛 2017/11/12
- 2017/11/12 _Java概括
- Capstone日志2017-12-11
- 2017/12/11 日志记录
- 2017/11/6~2017/11/12学习Java总结
- 2017-11-12 21:22:49
- 2017-11-12每日一练
- 跟着大佬赚钱!一文读懂31家科技巨头的2018年【附下载】| 智东西内参
- spring mapper注入到service失败的解决方法
- Jenkin邮件设置详解
- JAVA基础学习之线程
- Sqlalchemy 乱码解决方法
- 2017-12-11
- getJSON
- springmvc 关于http400错误的记录
- 【笔记】【微信OCR(2):深度序列学习助力文字识别】
- 求数组中两个字符串的最小距离 Python 版
- C#中字节的转换
- 最通俗易懂的使用OkHttp进行WebSocket连接教程:上来直接撸代码
- 2. ROS的多机通讯的配置
- C++ -- 友元