本文共 1601 字,大约阅读时间需要 5 分钟。
对于这种题,真心无语,看题多半个小时,打码20分钟就打完了。。
注意
> 1.行号是从下往上计数的,最上面的行是8
> 2.对于行号不同的输出顺序,白色的是行号小的先输出,黑色的则相反。行号相同的都是列小先输出。。图中有P 和 p之分-- 。--;
代码:
#includeusing namespace std;char a[20][40];char b[10][10];int k1,k2;int t;int start;void find(char c){ int i,j; if(t==1) { for(i=8;i>=1;i--) { for(j=1;j<=8;j++) { if(b[i][j]==c) { if(k1==1) { cout<<' '; k1=0; } else { cout<<','; } if(c!='P') cout< < <<8-i+1; else cout< <<8-i+1; } } } } else { c=c+32; for(i=1;i<=8;i++) { for(j=1;j<=8;j++) { if(b[i][j]==c) { if(k2==1) { cout<<' '; k2=0; } else { cout<<','; } if(c!='p') cout< < <<8-i+1; else cout< <<8-i+1; } } } }}int main(){ int n=17,m=33; int i,j; while(cin>>a[1][1]) { k1=1; k2=1; t=2; for(i=1;i<=n;i++) { start=0; for(j=1;j<=m;j++) { if(i==j&&j==1) continue; cin>>a[i][j]; if(i%2==0&&j%4==3) { b[i/2][++start]=a[i][j]; } } } while(t--) { if(t==1) cout<<"White:"; else cout<<"Black:"; find('K'); find('Q'); find('R'); find('B'); find('N'); find('P'); cout<
转载地址:http://mugji.baihongyu.com/