[每天例题]蓝桥杯 C语言 津津的储蓄计划

发布时间 2023-04-28 09:55:05作者: 山远尽成云

津津的储蓄计划

题目

 

题目要求

1.每个月的月初妈妈给津津 300 元钱。

2.实际花销和预算的相同。

3.津津可以随时把整百的钱存在她那里,到了年末她会加上 20% 还给津津

4每个月的月初如果她预计到这个月的月末手中还会有多于 100 元或恰好 100 元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。

5存在妈妈那里的钱在年末之前不能取出。有可能在某个月的月初,津津手中的钱加上这个月妈妈给的钱,不够这个月的原定预算。

6.输入 12行数据,每行包含一个小于 350 的非负整数,分别表示 11 月到 12 月津津的预算。

7.如果储蓄计划实施过程中出现某个月钱不够用的情况,输出 X,X 表示出现这种情况的第一个月。

思路分析

1.通过建立数组与for循环,将12个数存进数组里。

2.然后通过for循环计算出每个月剩余的钱。

3.建立三个if判断,第一个if判断剩余的钱是否小于0,如果小于0,则表示该月预算超标,第二个if判断剩余的钱是否大于等于100,如果符合,则将整百的钱存储,第三个if,如果剩余的钱大于等于0又不够100,则什么都不做。

4.如果剩余的钱小于0,则暂停计算,直接输出当月的月份

5.记住最后输出的钱是存储的钱加利息加上津津手中剩余的钱。

代码

#include<stdio.h>
int main()
{
	int i;
	int yusuan[12];
	int cunchu=0;
	int sum=0;
	int nianmo; 
	for(i=0;i<12;i++)
	{
		scanf("%d",&yusuan[i]);
	}
	for(i=0;i<12;i++)
	{
		sum=300-yusuan[i]+sum;//计算每个月剩余多少钱
		if(sum<0)//如果超预算了
		{
			printf("%d",-(i+1));//则输出第几个月开始超预算
			return 0;//超预算后无须再计算 
		}
		else if(sum>=100)//如果剩余的钱数大于100则存储
		{
			cunchu=(sum/100)*100+cunchu;
			sum=sum-(sum/100)*100; 
		}
		else//如果剩余的钱不够100,则不存储 
		{
			sum=sum;
		}
	}
	nianmo=cunchu*0.2+cunchu+sum;
	printf("%d",nianmo);
	return 0;
}

运行结果