这题一看就是从小到大输出32个5位二进制(00000——11111),然后就很好处理了,可以把5位二进制存入数组中。每次将最低位加1,然后在做判断,逢二进一,向前进位再输出显示就可以了。
代码如下:
#include<iostream>
using namespace std;
int main(){
int a[5]={0,0,0,0,0};
for(int i=0;i<32;i++) {
for(int j=4;j>=0;j--){
cout<<a[j];
}
cout<<endl;
a[0]++;
if(a[0]==2){
a[0]=0;
a[1]++;
}
if(a[1]==2){
a[1]=0;
a[2]++;
}
if(a[2]==2){
a[2]=0;
a[3]++;
}
if(a[3]==2){
a[3]=0;
a[4]++;
}
if(a[4]==2){
a[4]=0;
a[5]++;
}
}
return 0;
}