此题就是一个模拟题,但是如果一个个判断会很烦,而且代码量会很多,这里我就提出一种更好的方法:
事先开一个数值数组,对特殊的字符位置赋值
然后直接累加就好了。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
   | #include<bits/stdc++.h> using namespace std; int ans,s[200];
  char a; int main(){     s['Q']=9,s['q']=-9;                    s['R']=5,s['r']=-5;     s['B']=s['N']=3,s['b']=s['n']=-3;     s['P']=1,s['p']=-1;     for (int i=0;i<8;i++)     for (int j=0;j<8;j++){         cin>>a;         ans+=s[a];     }     if (ans<0)printf ("Black");     else if (ans)printf ("White");     else printf ("Draw"); }
   |