【C语言进阶】练习题

目录

1.喝汽水问题

1.1 第一种实现

1.2 第二种实现

2. 整型提升

3.打印杨辉三角

4.  逻辑判断

4.1 谁是凶手

4.2 比赛排名


1.喝汽水问题

1.1 第一种实现

问题描述:一瓶汽水一元,2个空瓶可以换一瓶汽水。问题:20元可以喝多少瓶汽水?

  • 由于最后还剩一个空瓶子,那也可以先问老板借一瓶汽水然后喝掉,就有两个空瓶子去换刚刚借的那瓶汽水了 ,答案也可以为:40

1.2 第二种实现

  •  一瓶汽水一元,两个空瓶子换一瓶汽水,所以一个空瓶子0.5元
  •  所以20元可以换40个空瓶子
  •  因为最后手里肯定剩一个空瓶子,所以答案是:40-1=39

2. 整型提升

  • a+b不会放到c里面,所以结果不会发生截断和提升
  • c = a+b会截断,然后无符号数按照0提升,打印原码 

3.打印杨辉三角

4.  逻辑判断

4.1 谁是凶手

  •  假设说真话为1,假话为0
  •  又因为一个人说假话,所以有:三个 1 ,一个 0
  • 通过简单的判断凶手是:C

 

4.2 比赛排名

代码实现:

4.3 总结

总结:

像这种逻辑题目,编程实现的思路就是,用循环来遍历每一种情况,然后通过逻辑判断去排除其他情况

  • 例如第一题:凶手肯定在四个人中,就遍历每个人都是凶手。然后根据每个人说的话判断凶手是某个人的话,满不满足3个真话,1个假话
  • 例如第二题: 每个人的排名是确定的,所以遍历每个人的排名。假如某种排名确定的话,根据每个人说的话判断这种排名是不是有效

 


版权声明:本文为qq_44886601原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。