1102問題解決レポート

1620 ワード

この問題の難点は、図形と数字のマッピング関係をどのようにするかであり、この問題を始めたばかりの頃、0から9という10の数字の各数字を1つのモデルにマッピングしようとした.でもやってみたら、だめな気がした.
問題は1つの数字ではなく、1行の数字であり、伸縮可能であるからだ.だから他の方法を考えなければなりません.これらの電子時計の数字の特徴を観察すると、実際には7つの筆画の構成があり、それぞれ7つの部分に定義されています.
それぞれの筆画にどの数字が含まれているかを記録します.こうして1から7までの7つの筆画を記録した.このように一度に出力して1行移動するには5行の出力プログラムが必要である.
#include 
#include 
#include 

int main() {
	 int s;
	 char num[9];
	 int i,j;
	 int emp;
	 char b1[11]={'-',' ','-','-',' ','-','-','-','-','-'};
	 char b2[11]={'|','|',' ',' ','|','|','|',' ','|','|'};
	 char b3[11]={'|',' ','|','|','|',' ',' ','|','|','|'};
	 char b4[11]={' ',' ','-','-','-','-','-',' ','-','-'};
	 char b5[11]={'|','|','|',' ',' ',' ','|',' ','|',' '};
	 char b6[11]={'|',' ',' ','|','|','|','|','|','|','|'};
	 char b7[11]={'-',' ','-','-',' ','-','-',' ','-','-'};

	 while(1) {
	     memset(num,0,9); 
		 scanf("%d %s",&s,num);
		 if(s==0) break;
	 	 for(i=0;i