这个程序突然就卡壳了,
刚开始采用的方案为,switch case 分别判断32种情况,然后输出32种字符串
感觉好蠢。
/*****
- 问题描述
对于长度为5位的一个01串,每一位都可能是0或1,
一共有32种可能。它们的前几个是:
00000 1 2 4 8 16 32
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
//十进制转换二进制输出
#include<iostream>
using namespace std;
void Binarycout(char n)
{
for (int i=5;i>0;i--)
{
cout<<((n>>i)&1); //每一次输出一位
}
cout<<endl;
}
int main(void)
{
char arr=0;
while(arr<=32)
{
Binarycout(arr);
arr++;
}
return 0;
}