C++ 津津的儲蓄計劃

lilyxiaoyy發表於2024-03-11
描述

津津的零花錢一直都是自己管理。每個月的月初媽媽給津津300元錢,津津會預算這個月的花銷,並且總能做到實際花銷和預算的相同。

為了讓津津學習如何儲蓄,媽媽提出,津津可以隨時把整百的錢存在她那裡,到了年末她會加上20%還給津津。因此津津制定了一個儲蓄計劃:每個月的月初,在得到媽媽給的零花錢後,如果她預計到這個月的月末手中還會有多於100元或恰好100元,她就會把整百的錢存在媽媽那裡,剩餘的錢留在自己手中。

例如11月初津津手中還有83元,媽媽給了津津300元。津津預計11月的花銷是180元,那麼她就會在媽媽那裡存200元,自己留下183元。到了11月月末,津津手中會剩下3元錢。

津津發現這個儲蓄計劃的主要風險是,存在媽媽那裡的錢在年末之前不能取出。有可能在某個月的月初,津津手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,津津將不得不在這個月省吃儉用,壓縮預算。

現在請你根據2004年1月到12月每個月津津的預算,判斷會不會出現這種情況。如果不會,計算到2004年年末,媽媽將津津平常存的錢加上20%還給津津之後,津津手中會有多少錢。

輸入
包括12行資料,每行包含一個小於350的非負整數,分別表示1月到12月津津的預算。
輸出
包括一行,這一行只包含一個整數。如果儲蓄計劃實施過程中出現某個月錢不夠用的情況,輸出-X,X表示出現這種情況的第一個月;否則輸出到2004年年末津津手中會有多少錢。
樣例輸入
樣例 #1:
290
230
280
200
300
170
340
50 
90 
80 
200
60

樣例 #2:
290 
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60
樣例輸出
樣例 #1:
-7

樣例 #2:
1580

#include<bits/stdc++.h>
using namespace std;
int main()
{
// 每月的零花錢money=300, 預算budget,手中剩餘錢s,存媽媽的總金額mum_tot
int money = 300, budget = 0, s = 0, mum = 0, mum_tot = 0;
for(int m = 1; m <= 12; m++)
{
cin>>budget;
if ((money+s)>=budget)
{
s = money + s - budget;
if( s >= 100)
{
mum_tot += s/100*100;
s -= s/100*100;
}
//cout<<"m="<<m<<" s="<<s<<" "<<"mum_tot="<<mum_tot<<endl;
}
else
{
cout<<"-"<<m;
return 0;
}
}
mum_tot = mum_tot*0.2 + mum_tot + s;
cout<<mum_tot;
return 0;
}

相關文章