天花板编程手把手计划-第1期-第3天-打卡

题目

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

1 1 1 1 1

全背面

0 0 0 0 0

解题思路

解决这个问题的时候首先想到的是二进制,因为专业是通信,数据结构没有开,关于算法很迷茫,暑假会留学校认真读。整个解题是输出0-31进行转化为二进制,正好为5个硬币正反抛的所有可能。

源码

#include 
output(int count);
int a[5]={0,0,0,0,0};
main()
{  
          output(32);
}
 output(int count)
{
    int j,number=0;
    if(count>=0)
    {   
        output(count-1);
        while(count)
     {
         a[number++]=count%2; 
         count/=2;
     }
         for(j=0;j<5;j++)
               printf("%d",a[j]);
         printf("\n");
    
    }     
 
}

执行结果

天花板编程手把手计划-第1期-第3天-打卡_第1张图片
image.png

总结

比较了Barry您以前的作业,感觉自己用二进制偷了个懒,关于迷宫的那个,按着自己的思路改进后还是没写出来,会按照文章里的写法接着写。

你可能感兴趣的:(天花板编程手把手计划-第1期-第3天-打卡)