【算法】—妙:01字串

问题描述

对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:

00000

00001

00010

00011

00100

请按从小到大的顺序输出这32种01串。

输入格式
本试题没有输入。
输出格式
输出32行,按从小到大的顺序每行一个长度为5的01串。
样例输出
00000
00001
00010
00011
<以下部分省略>
 
该题是蓝桥杯<基础联系中得一道题>,最开始还在想要如何如何设置数组进行保存,但是经过片刻思考:
该题要求从低到高输出5位数得01得字符串,就是最开始输出得理应是00000,接下来是00001。。。。都是从最后一位数开始不断0到1,接下来是倒数第二位从0到1,这样想了之后感觉可以用循环得思想,直接5重循环输出即可
#include<stdio.h>
void print01();
int main()
{
    print01();
    return 0;
 } 
 
 void print01()
 {
     //从小到大就是从最后面开始变大(和几重循环一样)
    //考虑用5重循环
    int i,j,k,m,n;
    for(i=0; i<2; i++)
        for(j=0; j<2; j++)
            for(k=0; k<2; k++)
                for(m=0; m<2; m++)
                    for(n=0; n<2; n++)
                        printf("%d%d%d%d%d\n",i,j,k,m,n); 
     
 }

猜你喜欢

转载自www.cnblogs.com/jessie99/p/12342585.html