博客
关于我
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与mem_细说 MySQL 之 MEM_ROOT
查看>>
MySQL与Oracle的数据迁移注意事项,另附转换工具链接
查看>>
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>