寒假万恶之源3:抓老鼠啊~亏了还是赚了?

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.运行结果正确截图

 

posted @ 2019-02-12 16:39  千倍于太阳的光辉  阅读(169)  评论(1编辑  收藏  举报