01字串---二进制输出(结合网友大神方法和自己的思路)
来源:互联网 发布:c语言输出乘法表 编辑:程序博客网 时间:2024/05/22 09:51
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
方法一:字符串方式
#include <stdio.h> int main() { int i = 0, j = 0;// 0 1 2 3 4 char Zerone[6] = {'0','0','0','0','0','\0'};//初始化 for (i = 0; i < 32; ++i) // 2^5=32 { puts(Zerone); Zerone[4] += 1; // 每次在末尾+1 for (j = 4; j >= 0; --j) { if ('2' == Zerone[j]) // 二进制进位 { Zerone[j] = '0'; Zerone[j-1] += 1; } } } return 0; }
或方法二:
# include <stdio.h>int main(void){ int a[5]={0}; int temp; int times; int i; printf("00000\n"); for(times=1;times<=31;times++) { i=0; a[i]+=1; while(a[i]>=2) { temp=a[i]/2; a[i]=a[i]%2; i++; a[i]=a[i]+temp; } for(i=4;i>=0;i--) { printf("%d",a[i]); } printf("\n"); } return 0; }
或方法三:利用5个循环
#include <iostream> using namespace std; int main() { //用5个循环来实现 int i,j,k,m,n; for(i = 0;i <= 1; i ++) { for(j = 0; j <= 1;j ++) { for(k = 0;k <= 1;k ++) { for(m = 0; m <= 1;m ++) { for(n = 0;n <= 1;n ++) { cout<<i <<j <<k <<m <<n <<endl; } } } } } return 0; }
或方法四:二进制函数库<bitset> #我的思路#好方法值得推荐~#
#include <iostream>#include<bitset>using namespace std;int main(){for(short n=0;n<32;n++)cout<<bitset<5>(n)<<endl;return 0;}
或方法五:利用位操作
#include <iostream>using namespace std;int main(){for(int j=0;j<32;j++){int k=j;int a[5]={0,0,0,0,0};for(int i=4; i>=0; i--){a[i]=k&1;k=k>>1; } for(int i=0;i<5;i++) cout<<a[i]; cout<<endl;}system("pause");return 0;}
0 0
- 01字串---二进制输出(结合网友大神方法和自己的思路)
- 输出一个数的二进制数的奇数序列和偶数序列(三种方法)
- c# winform结合数据库动态生成treeview的父节点和子节点方法和思路
- 找一找自己和大神之间的差距
- 比特币或区块链的创业思路【结合自己行业特点,寻找和区块链联姻的机会】
- 基础练习 01字串(二进制)
- leetCode 67.Add Binary (二进制加法) 解题思路和方法
- 二进制, 八进制, 十六进制 输出的表示方法
- 字符串中找出递减数,输出最大字串和各数位之和最大的字串之和
- (大神勿入)据说是一道面试题,然后自己就写了一发(矩阵的螺旋输出)
- 小程序(十七)二进制中1的个数和二进制镜像反转输出结果
- 自己写的RxJava和Retrofit结合
- 结合row_number函数和临时表进行分页的思路
- 把数字转为二进制的字串
- 图片轮播,自己和大神写的比较
- 一位网友实现的image异步加载类,支持memory和disk缓存,思路供参考
- SQLServer2008中查询语句的疑问,求网友大神解答
- 最热网友收藏:JavaScript的方法和技巧
- 邮件的发送和接收过程——STMP、POP、IMAP、MIME
- 一句话总结几种排序算法及其稳定性
- 对微软跨平台通用应用野心的思考
- spring入门(12)-spring与hibernate整合完成增删改查的操作(继承HibernateDaoSupport调用hibernateTemplate类)
- 【学习之路】MySQL(1)
- 01字串---二进制输出(结合网友大神方法和自己的思路)
- 上海某生态农庄一游
- @class、#import、#include
- Unity ugui 和 模型 粒子的层级管理
- CentOS 7 安装lnmp
- hdu3336 Count the string--KMP+DP
- 常见数据格式
- Memcache vs redis
- AndroidAnnotations学习笔记