hdu_1332&poj_1102_LCDisplay

题就是看规律,比如 第1行 的九个数字的特征,第2~n+1行各个数字的特征,第n+2~2*n+2行各个数字,第2*n+3行的。即可以敲心中所想了。

  1 #include<iostream>
  2 using namespace std;
  3 
  4 int main()
  5 {
  6     //freopen("output","w",stdout);
  7     int n,len,i,j,k,x;
  8     char ch[9];
  9     while(scanf("%d%s",&n,ch)!=EOF)
 10     {
 11         if(n==0&&ch[0]=='0')
 12             break;
 13         len = strlen(ch);
 14         x = 0;
 15         for(i = 0; i < len; i++)
 16         {
 17             if(ch[i]=='0')
 18             {
 19                 if(i + 1 < len)
 20                 x = i+1;
 21             }
 22             else
 23                 break;
 24         }
 25         for(i = 1; i <= 3+2*n; i++)
 26         {
 27             for(j = x; j < len; j ++)
 28             {
 29                 
 30                 if( i==1 ){
 31                     cout<<' ';
 32                     if(ch[j]=='1'||ch[j] == '4')
 33                     { 
 34                         for(k = 0; k < n; k++)
 35                             cout<<' ';
 36                     }
 37                     else
 38                     {
 39                         for(k = 0; k < n; k++)
 40                         cout<<'-';
 41                     }
 42                     cout<<' ';
 43                 }
 44                 if( i >1 && i <= n+1)
 45                 {
 46                     if(ch[j]=='5'||ch[j] == '6'){
 47                         cout<<'|';
 48                         for(k = 0; k < n; k++)
 49                             cout<<' ';
 50                         cout<<' ';
 51                     }
 52                     else if(ch[j] == '1'||ch[j] == '2'||ch[j] == '3'||ch[j] == '7')    {
 53                         cout<<' ';
 54                         for(k = 0; k < n; k++)
 55                             cout<<' ';
 56                         cout<<'|';
 57                     }
 58                     else{
 59                         cout<<'|';
 60                         for(k = 0; k < n; k++)
 61                             cout<<' ';
 62                         cout<<'|';
 63                     }
 64                 }
 65 
 66                 if(i == n + 2)
 67                 {
 68                     cout<<' ';
 69                     if(ch[j] == '1'||ch[j] == '7'||ch[j] == '0')
 70                     {
 71                         for(k = 0; k < n; k++)
 72                             cout<<' ';
 73                     }
 74                     else 
 75                         for(k = 0; k < n; k++)
 76                             cout<<'-';
 77                     cout<<' ';
 78                 }
 79 
 80                 if(i > n+2 && i <= 2*n +2)
 81                 {
 82                     if(ch[j]=='2'){
 83                         cout<<'|';
 84                         for(k = 0; k < n; k++)
 85                             cout<<' ';
 86                         cout<<' ';
 87                     }
 88                     else if(ch[j] == '6'||ch[j] == '8'||ch[j] == '0')
 89                     {
 90                         cout<<'|';
 91                         for(k = 0; k < n; k++)
 92                             cout<<' ';
 93                         cout<<'|';
 94                     }
 95                     else{
 96                         cout<<' ';
 97                         for(k = 0; k < n; k++)
 98                             cout<<' ';
 99                         cout<<'|';
100                     }
101                 }
102                 if(i == 2*n + 3)
103                 {
104                     if(ch[j] == '1'||ch[j] == '4'|| ch[j] == '7')
105                     {
106                         cout<<' ';
107                         for(k = 0; k < n; k++)
108                             cout<<' ';
109                         cout<<' ';
110                         }
111                     else
112                         {
113                             cout<<' ';
114                             for(k = 0; k < n; k++)
115                                 cout<<'-';
116                             cout<<' ';
117                         }
118                 }
119                 if(j < len-1)
120                     cout<<' ';
121 
122             }
123             cout<<endl;
124         }
125         cout<<endl;
126     }
127     return 0;
128 }
原文地址:https://www.cnblogs.com/konkon/p/2455833.html