美文网首页
天花板编程手把手计划-第一期-第三天-打卡

天花板编程手把手计划-第一期-第三天-打卡

作者: 4644f2f5191a | 来源:发表于2017-04-25 20:36 被阅读0次

    题目

    把一个硬币抛5次,打印出所有可能出现的情况。1表示正面,0表示背面。比如:

    全正面

    1 1 1 1 1
    

    全背面

    0 0 0 0 0
    

    解题思路

    只想到转换成二进制来遍历

    源码

    #include <stdio.h>
    #define MAX 5
    int print(int num)
    {
        int i=num;
        int arr[MAX]={0};
        int k=MAX;
        while(i!=0)
        {
            arr[k-1]=i%2;
            i=i/2;
            k--;
        }
        for(int j=0;j<MAX;j++)
        {
            printf("%2d",arr[j]);
        }
        printf("\n");
        if(num==0)
            return 0;
        print(num-1);
    
    }
    void main()
    {
        int i=2;
        for(int j=0;j<MAX-1;j++)
        {
            i=i*2;
        }
        i=i-1;
        print(i);
    }
    

    执行结果

    Paste_Image.png

    总结

    这个问题,只想到了用二进制,迷宫问题还没有自己的想法,还有好长路要走

    相关文章

      网友评论

          本文标题:天花板编程手把手计划-第一期-第三天-打卡

          本文链接:https://www.haomeiwen.com/subject/achbzttx.html