寝癖頭の解法

小学生の目線から、勉強中の覚え書きを投稿、更新していきます。

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_A : Print a Rectangle
 http://judge.u-aizu.ac.jp/
 C言語によるフレームの描画
 https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
int main()
{
  int H,W,i,j;
  while(1){
    scanf("%d %d",&H,&W);
    if(H==0 && W==0){
        break;
    }
    for(i=1;i<=H;i++){
      for(j=1;j<=W;j++){
	    if((i>1 && i<H) && (j<W && j>1)){
	        printf(".");
	    }else{
	       printf("#"); 
	    }
	   }
        printf("\n");
    }
    printf("\n");
    
  }
  return 0;
}

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