zoukankan      html  css  js  c++  java
  • 7-1 抓老鼠啊~亏了还是赚了?

    实验代码:#include<stdio.h>

    int main()
    {
        int i,n,j,x=0;
        char a[100];
        int b[100]={0};
        int c[100]={0};
        for(i=1;;i++)
        {
            scanf("%c",&n);
            a[i]=n;
            if(n=='$')
            break;
        }
        //for(j=1;j<=10;j++)
        //{
        //    printf("%d",b[j]);     测试 
        //}        
        for(j=1;j<=i;j++)
        {
            if(a[j]=='X')
            {
                if(b[j]==0||c[j]==1) /*b[j]=0意味着没有进入伤心或者不高兴*/
                {
                  b[j+1]=1;
                  printf("U");
                }
                else 
                printf("-");
            }
            else if(a[j]=='T')
            {
                x=x-3;
                if(b[j]==0||c[j]==1)
                {
                  b[j+1]=1;
                  b[j+2]=1;
                  printf("D");
                  x=x+10;
                }
                else
                {
                  printf("-"); 
                  x=x+3;
                }
            }
            else if(a[j]=='C')
            {
                x=x-3;
                if(b[j]==0||c[j]==1)  /*c[j]=1意味着进入兴奋状态*/
                {
                  c[j+1]=1;
                  c[j+2]=1;
                  printf("!");
                }
                else
                {
                  printf("-");
                  x=x+3;
                }
            }
        }
        printf("
    %d",x);
        return 0;
     } 


    设计思路

    首先把所有天数做出的操作全部存入一个数组a【】中。

    然后,把数组a【】中的元素一个个拿出来,根据拿出来的元素的不同来执行不同的结果。

    如果然后分别在讨论该天老鼠的情况,是否有不开心或者伤心(即使用数组b【】的元素来判断),以及是否进入兴奋状态(根据数组c【】的元素判断)。

    根据对于的情况产生对应的结果(同时造成对应的影响),并且把结果打印出来。

    关于钱,我是只要使用的奶酪就扣除3元,如果被吃没有捕获,就相当于消耗一个奶酪,如果被吃捕获了,就获得10元,如果没有被吃,就回收奶酪(x+3)


    问题及解决问题的方法

    我定义数组的范围只有70,因为我最初看到题目觉得不会超过70天。但是出现了一个我从来没有见过的情况,pta显示段错误。

    然后我顺便了解了一下什么叫做堆栈溢出,什么叫做数组越界。  

    运行结果




  • 相关阅读:
    设置root密码
    切分和组合图片(一)
    android 游戏开发libgdx(一)
    用SharePoint.OpenDocuments打开的文档如何控制它的ActiveWindow.View.ShowXMLMarkup(转)
    sp_helptext 命令
    CMMI 配置管理 简介(转)
    文本框中只能输入字符的正则表达式.
    基于CMM和CMMI的配置管理(转)
    正则表达式详述(转)
    选中多个CheckBox赋给文本框.
  • 原文地址:https://www.cnblogs.com/Allen15773771785/p/10362699.html
Copyright © 2011-2022 走看看