2013年华为c语言上机试题2
2015-11-03 02:26
465 查看
C++ Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | //2013年华为c语言上机试题2 //计算一个整数二进制表达式中0的个数 #include<stdio.h> //计算整数中0的个数,下面的方法用移位的操作,更加简单一些 /*void numzero(int k, int*zeronum) { int i; int remin; int inter; (*zeronum) = 0; i = k; inter = i / 2; remin = i % 2; while(inter) { if(remin == 0) { (*zeronum)++; } remin = inter % 2; inter = inter / 2; } }*/ void numzero(int k, int*zeronum) { (*zeronum) = 0; while(k != 0) { if((k & 1) == 0) { (*zeronum)++; } k >>= 1; } } void main() { int i; int temp; int num = 0; printf("请输入一个整数\n"); temp = scanf("%d", &i); while(temp == 1) { numzero(i, &num); printf("%d的二进制数中0的个数为%d\n", i, num); printf("请输入下一个整数,输入其它字符结束\n"); temp = scanf("%d", &i); } } |
相关文章推荐
- 使用Codeblocks 编写C文件
- 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
- C语言错误之--初始值(低级错误)
- [转][VC++]限制CEdit(Edit Contrl)只能输入数字和小数点
- C++基础---类(class)
- leetcode笔记:House Robber
- c++调用ado链接mssql数据库详解
- leetcode笔记:Maximum Subarray(最大子串和问题)
- 熟悉预处理标识符: __LINE__ __FILE__ __DATE__ # ##
- 宏和函数的区别
- 【LeetCode从零单刷】Search in Rotated Sorted Array I & II
- 用C++/CLI搭建C++和C#之间的桥梁(一)—— 简介
- c++11特性之std::thread--初识二
- c++11特性之std::thread--初识二
- C语言预处理 # 和## 运算符
- 对C++中文件输出流成员函数的认识
- 任意进制整数之间的相互转换(C++实现)
- C++练习
- C++重载运算符函数需知
- c++ primer第五版(中文)习题答案 第二章第五节-处理类型