基础练习 01字串
时间限制:1.0s 内存限制:256.0MB
问题描述
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
该题目非常简单,也有很多操作方法,个人不太喜欢5个for
循环嵌套的方式,所以写了这个方式,供大家参考。
蓝桥杯测试通过代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,k;
int a[5] = {0,0,0,0,-1};
for(k=1;k<=32;k++)
{
a[4] += 1;
for(i=4;i>=0;i--)
{
if(a[i] == 2){
a[i] = 0;
a[i-1] += 1;
}
}
for(i=4;i>=0;i--)
{
printf("%d",a[4-i]);
}
printf("\n");
}
return 0;
}
以上内容仅供参考。