ZOJ 1146模拟题

作者:无名 - java -

题意是求七段数码管的显示,可将显示分为五个部分,垂直方向三个,水平方向两个;

最后再求五个部分的组合。。。。好麻烦呐,不过思路简单,可能模拟题都这样吧。。。。

View Code

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<math.h> 
  4 #include<string.h>
  5 
  6 void printv1(int s,int a)
  7 {
  8   int i;
  9   printf(" ");
 10   switch(a)
 11   {
 12      case 1:  case 4:
 13       for(i=0; i<s; i++)              
 14         printf(" ");
 15      break;
 16     case 2: case 3: case 5: case 6: case 7: case 8: case 9: case 0:
 17       for(i = 0; i < s; i++)            
 18         printf("-");
 19      break;     
 20   }    
 21   printf(" ");
 22   
 23 }
 24 
 25 void printv2(int s,int a)
 26 {
 27    int i;   
 28    printf(" ");  
 29    switch(a)
 30    {
 31      case 1: case 7: case 0:              
 32       for(i = 0; i < s; i++)
 33         printf(" "); 
 34      break;
 35      case 2: case 3: case 4: case 5: case 6: case 8: case 9:   
 36        for(i = 0; i< s; i++)
 37          printf("-");
 38      break;       
 39    }
 40    printf(" ");  
 41      
 42 }     
 43 
 44 
 45 void printv3(int s, int a)
 46 {
 47    int i;
 48    printf(" ");
 49    switch(a)  
 50    {  
 51       case 1: case 4: case 7:  
 52        for(i=0; i<s; i++)
 53          printf(" ");    
 54       break;  
 55      case 2: case 3: case 5: case 6: case 8: case 9: case 0:
 56        for(i=0; i<s; i++)
 57         printf("-");
 58      break;
 59    } 
 60    
 61    printf(" ");  
 62   
 63 }
 64 
 65 void printh1(int s,int a)
 66 {
 67    int i;
 68   switch(a)
 69   {
 70      case 1: case 2: case 3: case 7:         
 71        printf(" "); 
 72        for(i = 0; i < s; i++)
 73          printf(" ");   
 74        printf("|"); 
 75       break;   
 76      case 5: case 6:    
 77       printf("|");      
 78       for(i=0; i<s; i++)          
 79          printf(" ");
 80        printf(" ");       
 81      break;      
 82      case 4: case 8: case 9: case 0:
 83         printf("|");  
 84         for(i=0; i<s; i++)           
 85           printf(" ");
 86         printf("|"); 
 87       break;     
 88     }
 89               
 90 }
 91 
 92 void printh2(int s,int a)
 93 {
 94    int i;     
 95    switch(a)
 96    {
 97       case 1: case 3: case 4: case 5: case 7: case 9:
 98          printf(" ");            
 99         for(i=0; i<s; i++)   
100           printf(" ");  
101         printf("|");    
102       break;
103      case 2:   
104          printf("|"); 
105        for(i=0; i<s; i++)
106         printf(" ");
107       printf(" ");  
108      break;
109     case 6: case 8: case 0: 
110         printf("|"); 
111       for(i=0; i<s; i++)  
112         printf(" ");
113       printf("|"); 
114     break;  
115       
116    }   
117  
118 }    
119 
120 int main()
121 {
122    int s,n,i,j,k,len;
123    char num[100];
124    
125    while(scanf("%d%s",&s,num) != EOF)
126    {
127        if( s==0 && num[0]=='0') break;
128        len = strlen(num);
129        for(i = 0; i < len; i++)
130        {
131           if(i != 0)     
132             printf(" ");     
133           printv1(s,num[i]-'0');  
134        }  
135        printf("\n");
136        
137        for(i = 0; i < s; i++)
138        { 
139          for(j = 0; j < len; j++) 
140          {
141             if(j != 0)     
142               printf(" ");     
143             printh1(s,num[j]-'0');   
144          } 
145          printf("\n");  
146        } 
147        
148        for(i=0; i<len; i++)
149        {
150           if(i != 0)           
151              printf(" ");
152           printv2(s,num[i]-'0');  
153        }  
154        printf("\n");  
155          
156       for(i=0; i<s; i++)
157       {
158          for(j=0; j<len; j++)          
159          {    
160             if(j != 0)   
161               printf(" "); 
162            printh2(s,num[j]-'0'); 
163          }
164          printf("\n");  
165       }   
166       
167       for(i=0; i<len; i++) 
168       {
169          if(i != 0)
170             printf(" ");
171         printv3(s,num[i]-'0');      
172       } 
173       printf("\n");
174       
175      printf("\n");       
176        
177     }
178 
179     return 0;
180 }

超过150行了。。。。第一次啊! 有木有!

这篇内容就是由IT人知识库 小编为各位整理 原文链接:http://www.itpeo.net/12806/3488904.html





标签 模拟摹拟
rfedfre

大型网站系统架构分析相关

千万级的注册用户,千万级的帖子,nTB级的附件,还有巨大的日访问量,大型网站采用什么系统架构保证性能和稳定性? ... ...

rfedfre

设置 gvim 启动时候的默认设置

  方法一:       打开GIM-->编辑--... ...

rfedfre

JAVA 中 replace 和 replaceAll 的区别

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数... ...

rfedfre

英文女名的寓意

英文: 中文: 来源: 涵义:     Abi... ...

rfedfre

将Eclipse的console插件加入到自己的RCP应用程序中

打开plugins.xml, 在Dependencies项中,点击add,加入org.eclipse.ui.c... ...

关于printk显示问题

  printk()函数的总结 我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自... ...

趣味横生签名秀

100条超搞笑的“雷人”QQ/MSN 签名 001 - 老鼠一发威,大家都是病猫。002 - 和一MM争论鲸鱼是不是鱼... ...

做技术有的混吗?

转贴!!! 我现在是自己做,但我此前有多年在从事 软件 开发工作,当回过头来想一想自己,觉得特别想对那些初学J... ...

sicily1122. Prerequisites?

1122. Prerequisites Constraints Time Limit: 1 secs, M... ...

sicily1321. Robot

1321. Robot Constraints Time Limit: 1 secs, Memory Li... ...

对于Android NDK编译器ARM和Thumb模式的理解

编译NDK项目时,编译器无法识别arm汇编,设置LOCAL_ARM_MODE := arm后问题解决,   ... ...

[转]NDK编译库运行时报dlopen failed: cannot locate symbol "__exidx_end" 解决办法

原文链接:http://blog.csdn.net/acm2008/article/details/41040015 ... ...

rfedfre

自定义分词器Analyzer

参考:http://grunt1223.iteye.com/blog/969197   Anal... ...

Oracle 体系结构及安全管理

1  oracle数据库服务器构成:数据库和实例   2 oracle内部结构:   ... ...

(A10)Tapestry Core:Localization

本文翻译出处 http://tapestry.apache.org/tapestry5/tapestry-cor... ...

rfedfre

Web技术电子期刊2008年第9期(总第26期)

我们用心服务,与您共同进步。 第26期出来了!感谢大家一直对本刊的支持! 如果下了不看,请您不要下,谢谢。 ... ...

rfedfre

magento 添加上传功能 Adding upload field in contact form and send as attachment

Introduction Nowadays most of the clients wants extra field... ...

程序员新人怎样在复杂代码中找 bug?

1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间。2. 对... ...

微信沟通接口上线,开启移动应用与公众号的连接

  微信沟通接口正式上线,用户可以在移动应用中,点击跳转到微信客户端... ...

rfedfre

动态软件框架开发模型图

动态软件框架开发模型图 动态软件模型结构图服务器端设计概念使用后台服务模式运行,客户端使用本地加载模块{插... ...