寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

C言語によるチェスボードの描画

C言語によるチェスボードの描画です。
たてH cm よこ W cm のチェック柄の長方形を '#' '.' で描くプログラムです。

・問題
 たてH cm よこ W cm のチェック柄の長方形を描くプログラムを作成して下さい。
 たてH cm よこ W cm のチェック柄を '#' '.' で表します。
 長方形の左上が "#" となるように描いて下さい。

・入力される値
 入力は複数のデータセットから構成されています。
 各データセットの形式は以下のとおりです:
   H W
 H, W がともに 0 のとき、入力の終わりとします。

・期待する出力
 各データセットについて、たて H cm よこ W cm の枠を '#' '.' で出力して下さい。
 各データセットの後に、1つの空行を入れて下さい。

・条件
   3 ≤ H ≤ 300
   3 ≤ W ≤ 300

僕が作成、提出したコードは、以下のとおりです。

/*
 ITP1_5_C : Print a Chessboard
 http://judge.u-aizu.ac.jp/
 C言語によるチェスボードの描画
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main(void){
  int H,W,i,j;
  while(1){
    scanf("%d %d",&H,&W);
    if(H==0 && W==0){
        break;
    }
    for(i=0;i<H;i++){
      for(j=0;j<W;j++){
	    if(j%2==1){
	      if(i%2==1){
	          printf("#");
	      }else{
	          printf(".");
	      }
	    }else{
            if(i%2==1){
                printf(".");
            }else{
                printf("#");
            }
	        }
	    }
        printf("\n");
        }
    printf("\n");
	}
  return 0;
}

設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/
ITP1_5_C : Print a Chessboard