无法在循环 C++ 中打印输出

问题描述

我还在 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;
  }