题目
要求输出国际象棋棋盘。国际象棋棋盘由64个黑白相间的格子组成。
实现的思路
- 遍历棋盘上的每一个格子,可以通过两个嵌套的
for
循环来实现,外层循环i
代表行,内层循环j
代表列。 - 使用
if
语句判断当前格子应该输出黑色还是白色。由于国际象棋棋盘是黑白相间的,因此可以使用i
和j
的奇偶性来判断。 - 如果
j
的奇偶性与i
的奇偶性相同,则输出黑色格子(这里用▇
表示),否则输出白色格子(这里用两个空格 - 每完成一行的输出后,使用
printf("\n")
输出一个换行符,以便开始新的一行。
代码解析
#include <stdio.h>
int main(){
int i, j;
// 外层循环,遍历每一行
for(i = 0; i < 8; i++){
// 内层循环,遍历每一列
for(j = 0; j < 8; j++){
// 判断当前格子的颜色
if(j % 2 == (i % 2 ? 1 : 0)) {
// 输出黑色格子
printf("▇");
} else {
// 输出白色格子
printf(" ");
}
}
// 每行输出完毕后换行
printf("\n");
}
return 0;
}
注意事项
- 国际象棋棋盘是8x8的
i % 2
和j % 2
分别表示i
和j
的奇偶性,如果结果为0则表示偶数,如果结果为1则表示奇数。- 三元运算符
(i % 2 ? 1 : 0)
用于根据i
的奇偶性返回1或0,这样可以方便地与j
的奇偶性进行比较。 - 输出黑色格子时使用了
▇
字符,这是一个较宽的字符,可以清晰地显示棋盘。输出白色格子时使用了两个空格