博客
关于我
C语言经典题型——喝汽水问题
阅读量:520 次
发布时间:2019-03-08

本文共 566 字,大约阅读时间需要 1 分钟。

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少瓶汽水。这个问题是个经典的C语言问题,用简单的程序可以实现,如下:

#include
#include
#define N 20int Total(int num){ int x = N; int y = N; while (y > 1) { x += y / 2; y = y / 2 + y % 2; } return x;}int main(){ int i = N; int total=Total(i); printf("一共喝了 %d 瓶汽水!\n",total); system("pause"); return 0;}

这里定义了一个宏,是为了方便我们修改数据,如果以后需要计算其他的数据,只需要修改宏即可。main函数里用了一个简单的Total()函数,x是函数传入的值,y表示每次喝完水以后的瓶子。函数的核心是while循环,当瓶子数大于1时,对x进行加法运算,加上的数就是每次瓶子的数,由于会出现奇数的情况,为了不浪费瓶子,我们用y=y/2+y%2来进行瓶子的数的计算,直到最后瓶子数不大于1。最后返回x的值,即喝汽水的总数。

这个问题就简单的说到这儿吧,不要忘记继续努力哦!

转载地址:http://taanz.baihongyu.com/

你可能感兴趣的文章
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
Mysql 报错 Field 'id' doesn't have a default value
查看>>
MySQL 报错:Duplicate entry 'xxx' for key 'UNIQ_XXXX'
查看>>