对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。请用c语言代码实现
时间: 2023-09-25 13:06:41 浏览: 68
### 回答1:
用C语言代码实现:int main()
{
int i, j;
for(i=0; i<32; i++)
{
for(j=4; j>=0; j--)
{
printf("%d", (i>>j) & 0x01);
}
printf("\n");
}
return 0;
}输出的结果为:
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
### 回答2:
#include <stdio.h>
int main() {
int i, j;
for(i = 0; i < 32; i++) {
for(j = 4; j >= 0; j--) {
if((i >> j) & 1) { // 判断当前位是否为1
printf("1");
} else {
printf("0");
}
}
printf("\n");
}
return 0;
}
### 回答3:
#include<stdio.h>
void generateString(){
int i,j,k,l,m;
for(i=0;i<2;i++){
for(j=0;j<2;j++){
for(k=0;k<2;k++){
for(l=0;l<2;l++){
for(m=0;m<2;m++){
printf("%d%d%d%d%d\n",i,j,k,l,m);
}
}
}
}
}
}
int main(){
generateString();
return 0;
}