模拟(2)

http://www.fjutacm.com/Problem.jsp?pid=1861

 

接上一篇,因为变量设太多脑壳昏了,半天没a出来...

理一理思路,把所有情况挨个判断一下就可以了

 

#include<stdio.h>
int main()
{
    int x,y,a,b;
    char s[10],m,n,p,q,c,d;
    while(~scanf("%s %c,%c;",s,&n,&m)){//x和y是字母的时候要用其他字母来定义
        scanf("%s %c %d;",s,&p,&a);
        if(p==n)
        x=a;//a和b才是x和y的值
        else
        y=a;
        scanf("%s %c %d;",s,&q,&b);
        if(q==n)//x和y的位置不确定,需要判断一下
        x=b;
        else
        y=b;
        while(gets(s)){
            if(s[0]=='A'){//分别列举五种情况
                if(s[4]==n)
                x+=y;
                else
                y+=x;
            }
            else if(s[0]=='S'){
                if(s[4]==n)
                x-=y;
                else
                y-=x;
            }
            else if(s[0]=='M'){
                if(s[4]==n)
                x*=y;
                else
                y*=x;
            }
            else if(s[0]=='D'){
                if(s[4]==n)
                x/=y;
                else
                y/=x;
            }
            else if(s[0]=='E')
            break;
        }
        printf("%d %d\n",x,y);
    }
    return 0;
}

 

因为有字符和数字的转换,搞好久一直没捋清楚......

总体来看,思路还是很简单,主要就是怎么实现的问题。

 

码题:

http://www.fjutacm.com/Problem.jsp?pid=1726

http://www.fjutacm.com/Problem.jsp?pid=1117

http://www.fjutacm.com/Problem.jsp?pid=1118

 

这几道题不是很难的样子,回头写出来补上代码。

posted @ 2021-01-20 23:49  Untergehen  阅读(85)  评论(0编辑  收藏  举报