C语言进阶之旅(每日一题)换汽水

Posted 一个正直的男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言进阶之旅(每日一题)换汽水相关的知识,希望对你有一定的参考价值。

思维导图

在这里插入图片描述

换汽水

  • 花钱买汽水
  • 喝汽水
  • 换汽水
  • 不写具体解题思路,只写我自己遇到的错误

代码

  • 易错点
  • 1: 判断部分,你不除二的话你会死循环,你看能最后剩下1个瓶子
  • 2: 换汽水的时候需要加上之前换剩下来的
int main()
{
	int money = 0;
	scanf("%d", &money);
	int soda = money;//喝了的汽水
	int empty = money;
	while (empty/2)
	{
		soda += empty / 2;
		empty = empty / 2 + empty % 2;
	}
	printf("%d", soda);
}

优化

  • 应为每次给不同钱都是2倍的钱减1
int money = 0;
	scanf("%d", &money);
	int soda = money;//喝了的汽水
	int empty = money*2-1;
                                          2021-5-28

以上是关于C语言进阶之旅(每日一题)换汽水的主要内容,如果未能解决你的问题,请参考以下文章

C语言进阶之旅 (每日一题)水仙花数

C语言进阶之旅(每日一题)如何成为福尔摩斯

C语言进阶之旅 (每日一题)打印菱形

C语言进阶之旅(每日一题)字符串左旋

C语言进阶之旅(每日一题)杨辉三角

C语言进阶之旅(留下的足迹)