目录
一,题目描述
二,思路
三,伪代码
四,流程图
五,代码
一,题目描述
二,思路
1,根据题目要求需要声明4个变量:a,b,c,d ;牛奶价格a,活动要求b,赠送的瓶数c,总共的钱d。
2,现在我手上有d元
1)一开始就要判断:d>=a?,如果满足这个条件,就执行接下来的判断(既可以进入超市购物),否则(d<a)一瓶牛奶都买不了,直接返回num=0(买不了东西,超市里面只有牛奶)
2)之后需要进行相应的运算
①自己掏钱买的牛奶瓶数=d/a
- d/a:在有限的资金d元内,买到的牛奶瓶数。
②超市赠送的牛奶瓶数=(d/a)*a/b*c
- (d/a)*a:买牛奶花的钱数。
- (d/a)*a/b:花的钱数去整除活动要求b,看能够满足活动要求几次
- (d/a)*a/b*c:满足活动要求的次数乘上一次赠送的牛奶瓶数,就是超市总的赠送瓶数
③将自己掏钱买的牛奶瓶数和超市总的赠送瓶数相加,就是我最后有的牛奶瓶数。
即d/a+(d/a)*a/b*c。
例如:我有20元
一瓶牛奶5元,花15元就送2瓶牛奶,最后我能有(4+2)瓶牛奶。
三,伪代码
将上面的思路修改成【伪代码】如下:
1,声明需要用到的变量
2,身上的钱是否买得起一瓶牛奶?真
输出最后有的牛奶瓶数3,身上的钱是否买得起一瓶牛奶?假
输出0
四,流程图
结合思路和伪代码,绘制出相应的流程图如下:
如果想要绘制出类似上面的流程图,可以到wps软件中进行制作,步骤如下👇
五,代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
if(d>=a)
{
cout<<d/a+((d/a)*a/b)*c;
}
else cout<<0;
return 0;
}
相信仔仔细细阅读了上面代码的伙伴,能够发现上面的代码还可以继续简化。
我的输出表达式:d/a+(d/a)*a/b*c,在它的外面还有一个d>=a的判断语句,我不加这个判断也可以,因为当d<a的时候,d/a+(d/a)*a/b*c=0,所以简化后的代码如下👇
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
cout<<d/a+((d/a)*a/b)*c;
return 0;
}
有问题请在评论区留言或者是私信我,回复时间不超过一天。