问题描述
我还在 C++ 学习阶段,遇到了这个问题...请帮帮我: 我想打印这些值..
int main() {
int t;
cin>>t;
while(t--){
int count_x=0,count_o=0,count_=0;
char a[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cin>>a[i][j];
if(a[i][j]=='X') count_x++;
if(a[i][j]=='O') count_o++;
if(a[i][j]=='_') count_++;
}
}
cout<<count_x<<" "<<count_o<<endl;
}`
return 0;``
}
解决方法
它似乎有效……唯一的问题是,如果提供的数据比请求的多。
这个问题可以这样解决:
#include <iostream>
#include <limits>
using namespace std;
#include <iostream>
int main() {
int t;
cin>>t;
cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
cin.clear();
while(t--){
int count_x=0,count_o=0,count_=0;
char a[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cin>>a[i][j];
if(a[i][j]=='X') count_x++;
if(a[i][j]=='O') count_o++;
if(a[i][j]=='_') count_++;
}
}
cout<<count_x<<" "<<count_o<<endl;
cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
cin.clear();
}
return 0;
}