解题思路:判断我问手里空汽水瓶的个数,大于0小于三的时候是不可以换饮料的,所以此时输出0;当手里的饮料空饮料瓶大于等于三的时候定义for循环,开始“数瓶子”,因为三个空瓶子可以换一瓶饮料所以当数到三的时候就默默地给咱自己多加一个瓶子,又因为当只剩两个瓶子的时候可以向老板借一个,所以当我们原本就有的瓶子的数量加上咱们自己默默给自己加上的瓶子数量-2=咱们现在数的数时能换的饮料数量加一并且退出计数。ps:结合代码看更容易理解。
注意事项:给自己默默加上瓶子后就要进行比较了,看看-2之后是否等于当前计数。
参考代码:
#include<stdio.h>
int main()
{
int x;
while(1)
{x
int count=0; //用来计算我们可以换取的饮料数量(咱们默默给自己手中饮料瓶增加的数量)
scanf("%d",&x);
if(x==0) //因为输入零不做运行,所以break;当然从scanf开始到这一步可以在开始的时候用while(scanf("%d",&x)&&x)代替
break;
if(x<3&&x>0)
{
printf("%d\n",0);
continue; //不能换饮料——这里用continue是为了帮助大家理解Continue和break的区别:前者是跳过后面的步骤再次开始循环;后者是结束循环。
}
else
{
for(int i=1;i<=x;i++)
{
if(i%3==0)
{
count=count+1;
x=x+1; //数到三的倍数就说明可以换饮料了,默默给自己的空饮料瓶+1吧。
if(i==x-2)
{
count++;
break; //现在还有两个瓶子,可以给老板借一个了,瓶子数到头了,退出循环。
}
}
}
}
printf("%d\n",count);
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复