您的位置:首页 > 其它

开心一下-换汽水问题

2017-11-28 01:17 316 查看
一个锻炼脑力的脑筋急转弯



10块买5瓶汽水,5瓶汽水5个盖子5个空瓶。。。
好麻烦,写个程序吧


要点:分析出循环条件

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char** argv) {

int bottle=0,bottle_cap=0,empty_bottle=0;
int num=0,money=0;
printf("Please input your money :\n");

while(scanf("%d",&money)==1)
{
printf("Now the money you have is %d $!\n",money);
bottle = money/2;
int temp=0,temp_cap=0,temp_empty=0;

bottle_cap = bottle;//5个盖
empty_bottle = bottle;//5个瓶子
num += bottle;//喝了5瓶

while(bottle_cap/4 >0 || empty_bottle/2>0)
{
//处理瓶盖 bottle_cap
temp_cap += bottle_cap/4;
bottle_cap=bottle_cap%4;
temp_empty += empty_bottle/2;
empty_bottle=empty_bottle%2;
temp = (temp_empty+temp_cap);
num += temp;

empty_bottle += temp;
bottle_cap += temp;

temp_cap = 0;
temp_empty = 0;
temp=0;
}
printf("According to your money...\n");
printf("you can buy %d bottles'drink\n",num);
num = 0;
}
return 0;
}


实验现象预设:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  脑筋急转弯