C 练习实例9
题目:要求输出国际象棋棋盘。
程序分析:国际象棋棋盘由64个黑白相间的格子组成,分为8行*8列。用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。
如果出现乱码情况请参考本博客【C 练习实例7】的解决方法。
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
int main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else printf(" ");
printf("\n");
}
return 0;
}
以上实例输出结果为:
红途
471***[email protected]
参考方案:
红途
471***[email protected]
苏伟苏伟
642***[email protected]
参考地址
在 VS2017 环境下生成棋盘:
苏伟苏伟
642***[email protected]
参考地址
Zayn
267***[email protected]
想法:不玩行数和列数的数字游戏,在我的眼中从每行来看只有两种状态不断在切换:
第一行:先白后黑,后白,。。。交替,这个容易实现
第二行:先黑后白,后黑,。。。交替,这个也容易实现
第三行:其实就是第一行的状态重复
列状态的切换简单,行状态专门用一个数组来存储,只有两种状态(0,1)
参考代码:
Zayn
267***[email protected]
小智
222***[email protected]
参考方法:
小智
222***[email protected]
新一代的痛苦
309***[email protected]
参考方法:
新一代的痛苦
309***[email protected]
大宅院里的三表哥
gul***[email protected]
Linux环境下可以尝试使用字符'█'(utf-8:9608)替代例程中使用的字符(IBM437:219):
程序在终端中的执行结果相较理想。
大宅院里的三表哥
gul***[email protected]