大家好,我是刚入大一的编程学习小白,来到这里与大家一起学习。这些内容是对自己学习的一种复习同时也希望能帮助后来的同学。(欢迎各位学长或者大佬指出问题或建议哦!)
话不多说,我们上题。
01字串
问题描述:
对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。
它们的前几个是:
00000
00001
00010
00011
00100
请按从小到大的顺序输出这32种01串。
该题为要求输入格式
输出格式:
有的题目会要求每输出一组数后换行
另外一种则是每输出四组数后换行,一共八行(每两个数之间加空格);
如:
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
思路:
该题可以直接套娃,暴力输出使用五个循环就能实现顺序输出了;
代码展示(该结果如上)
#include <stdio.h>
int main()
{
int a,b,c,d,e,i=0;
for(a=0;a<2;a++)
{
for(b=0;b<2;b++)
{
for(c=0;c<2;c++)
{
for(d=0;d<2;d++)
{
for(e=0;e<2;e++)
{
printf("%d%d%d%d%d ",a,b,c,d,e);
i++;
if(i%4==0)
printf("\n");
}
}
}
}
}
}
输出结果:
如果家人们的题目没有要求没四组一换行,把if自行删除就好了。