二维数组的输入
程序员文章站
2022-05-20 11:42:51
...
二维数组的输入:
题目如下
井字棋,英文名叫Tic-Tac-Toe,是一种在3*3格子上进行的连珠游戏,和五子棋比较类似,由于棋盘一般不画边框,格线排成井字故得名。只要横,竖,斜三点一线即可胜利。CXK经过一系列唱、跳、rap、打篮球后觉得很累,想和AW玩这个游戏,CXK用O(大写字母O)AW用X(大写字母X)。如果CXK赢了那么输出CXKNB,如果AW赢了那么输出AWNB。
游戏保证必有一个人获胜。
样例输入
OXO
XXO
OXX
样例输出 Copy
AWNB
这个题目很简单,但是却一直出错,一开始的输入是这样的:
#include <stdio.h>
int main(){
int a[3][3];
//第一种输入
for(int i=0;i<3;i++){
scanf("%c%c%C",&a[i][0],&a[i][1],&a[i][2]);
}
//第二种输入
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
scanf("%c",&a[i][j]);
}
}
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
printf("%d ",a[i][j]);
}
}
printf("\n");
输出结果如下:
原因就是在输入的时候换行也被当做字符了!
欢迎使用Markdown编辑器
那么要怎样才能有要求的输入格式呢?
int a[3][3];
char str[3];
for(int i=0;i<3;i++){
scanf("%s",str);
for(int j=0;j<3;j++){
a[i][j]=(str[j]=='O'); //判断是否与字母O相等
}
}
上一篇: 113. 路径总和 II
下一篇: leetcode刷题5(最长回文子串)