模拟(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
这几道题不是很难的样子,回头写出来补上代码。