C ++ 零花钱问题 【态度决定一切】

这道题还是非常有意思的,有人肯定会说,我写这题有什么用呢,跟我工作也没有关系,即使我不会也不影响我的工作呀。。。。

前几天我看了b站的一个老师讲解的js的选择排序,有人就问:明明有封装好的函数可以直接调用去完成排序,为什么我还要手动封装一个函数呢?


---------------------为了提高写代码的逻辑性------------------

认真读清楚题目的意思,再一点点分析,你可以在纸上演算,然后找规律,算法就是这样实现的

【废话不多说,上代码】

我也是想了一会才做出来的,每个地方都标了注释,如有看不懂的或需要我改进的,可以在下方评论

#include <iostream> 
using namespace std;
int main()
{
	int m,k;//m为小明的零花钱  K为小明每花几元额外奖励 1元 
	int yu = 0;//每次剩余的钱 
	int flag = 0;//记录花了几次 1 元 
	int day = 0;//记录天数 
	cin >> m >> k;
	while (m > 0) {
		//从这一步直接可以看出每次的余额 
		yu = m--;
		//每做上面的一次赋值,则花了一天 
		day += 1;
		//记录花了几次 
		flag += 1;
		if(flag == k){
			//每花了 K 次,将flag = 0,并且余额 + 1元 
			flag = 0;
			m = m + 1;
		}
	} 
	cout << day;
}

例如:

输入 m=4   k=3

输出 day=5

输入 m=10  k=4

输出 day=13

猜你喜欢

转载自blog.csdn.net/rb0518/article/details/120509005