BE北北苏 2021-10-28 13:03 采纳率: 69.2%
浏览 17
已结题

求大g帮我解释一下前五个for,和输出的时候五个printf 怎么选择 white black的?


#include<stdio.h>
#include<stdlib.h>
int main()
{int a,b,c,d,e;
   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++)
if(((a==0&&b+c+d+e!=3)||(a==1&&b+c+d+e==3))&&((b==0&&a+c+d+e!=0)||(b==1&&a+c+d+e==0))&&((c==0&&b+a+d+e!=1)|| (c==1&&b+a+d+e==1))&&((d==0&&b+a+c+e!=4)||(d==1&&b+a+c+e==4)))
   { printf("A is pasted a piece of %s paper on his forehead.\n",a?"white":"black");  

printf("B is pasted a piece of %s paper on his forehead.\n",b?"white":"black");  

printf("C is pasted a piece of %s paper on his forehead.\n",c?"white":"black");  

printf("D is pasted a piece of %s paper on his forehead.\n",d?"white":"black");  

printf("E is pasted a piece of %s paper on his forehead.\n",e?"white":"black");  
}system ("pause");
return 0;
}
  • 写回答

2条回答 默认 最新

  • 星星不再亮 2021-10-28 14:38
    关注

    5个for循环由里面向外面开始,就是 a=0,b=0,c=0,d=0,e=0为第一个,a=0,b=0,c=0,d=0,e=1为第二个 ,a=0,b=0,c=0,d=1,e=0为第三个以此类推
    输出时判断a,b,c,d,e,此时是1还是0,是1就输出white为0输出black

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月28日

悬赏问题

  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题