1.代碼:
#include<iostream>
using namespace std;
int main()
{
??? char a/*操作*/;
??? int i/*計數工具*/,b=0/*老鼠會開心幾天*/;
??? int e/*正常的來*/,f/*老鼠會悲傷幾天*/;
??? int c=1/*老鼠來不來*/,d=0/*奶酪數目*/,g=0/*老鼠數目*/;
??? for (i=1;;i++)
??? {
??????? scanf("%c",&a);???
??????? if(a=='$')? break;
??????? if(c==1)
??????????? switch(a)
??????????? {
??????????????? case 'X':?? {e=1;printf("U");break; }? //什么都不放的情況下,老鼠會正常地來,但是會毫無所獲
??????????????? case 'T':?? {f=2;d++;g++;printf("D");break; } ? //放下捕鼠夾,定會耗費一塊奶酪,并且會打死一只老鼠,而且鼠群會悲傷兩天,兩天不會派出老鼠
??????????????? case 'C':?? {b=2;d++;printf("!");break; } ? //只放下奶酪,老鼠會開心2天,并且耗費了一塊奶酪,只是人會一無所獲
??????????? }
??????? else printf("-");//同理,以下的判斷即為負收益的時候
??????? if(b>0){b--;c=1;e=0;f==0;}//
??????? else if(b<=0&&e==1) {c=0;e--;}//
??????? else if(b<=0&&f>0)? {c=0;f--;}//
??????? else c=1;
??? }
??? printf("\n%d",g*10-d*3);
}
2.由于本人自身水平有限,所以本人參照劉凱同學的博客進行改編分析,日后需要提升自己獨立思考的能力
3.以下是我的流程圖
備注;在此同時,需要考慮負收益的情況,即老鼠悲傷的時候,并不會派出老鼠,此時便出現了虧損情況
?備注;在此同時,需要考慮負收益的情況,即老鼠悲傷的時候,并不會派出老鼠,此時便出現了虧損的情況
4.運行結果正確截圖
?