解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int a[12] = { 0 }; //定义数组储存每个月的预算
for (int i = 0; i < 12; i++)
scanf("%d", &a[i]); //利用循环输入每月预算数值
int t = 300, i = 0; //定义第一个月初始300元
double sum = 0; //定义sum来储存在妈妈那里存的钱
while (t >= 0) //用while循环解决问题
{
t -= a[i]; //每月初始钱数减去预算得到剩余钱数
if (t < 0)
{
printf("%d", -(i + 1)); //若剩余钱数为负,则当月不够花,打印当前月份的相反数
return 0; //并结束程序(i从0开始故为i+1)
}
if (t >= 100&&t<200) //以下用来判断是否存钱,存多少钱(别忘了存钱后t值的变化)
{
sum += 100;
t -= 100;
}
else if(t>=200&&t<300)
{
sum += 200;
t -= 200;
}
else if (t >= 300)
{
sum += 300;
t -= 300;
}
if (i < 11) t += 300; //若当前不是最后一个月,则获得每月的300元
i++; //月份的增加
if (i == 12) break; //i=12意味着一年结束了,终止循环
}
if (i == 12) //循环结束后i=12,则钱够花,获得本金加利息(千万别忘了月末剩余的零钱)
printf("%.0lf", sum * 1.2+t);
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复