一本通題庫 第一部分 C++語言 --> 第四章 循環結構的程序設計 1074 津津的儲蓄計劃

1074:津津的儲蓄計劃


時間限制: 1000 ms         內存限制: 65536 KB
提交數: 30997     通過數: 13382 

【題目描述】

津津的零花錢一直都是自己管理。每個月的月初媽媽給津津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年年末津津手中會有多少錢。

 

源代碼

 

本題中通過引用“p”,作爲判斷變量,如果不出現錢不夠用的情況,則p恆爲1,一旦出現錢不夠用的情況,則將p的值改爲0,保證所記錄的月份爲最先出現月份,但實際上若出現錢不夠用的情況,可直接跳出for循環,優化程序。

#include<iostream>using namespace std;int main(){ int n,c=0,p=1,m,w=0,t,s;  for(int i=1;i<=12;i++)  { cin>>n;    c=c+300-n;    if(c<0&&p==1)    { m=i;      p=0;}t=c/100;c=c-t*100;w+=t;  }  if(p==0)   cout<<(-1)*m<<endl;  else  { s=w*120+c;    cout<<s<<endl;   }   return 0;  } 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章