Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:修改一次后提交成功的代码In Reply To:Re:要注意的问题(附代码)=修正 Posted by:lifeich1 at 2010-02-15 23:02:22 #include<stdio.h> #include<string.h> void main() { void dup(char c,int n); char line[7][11]={"- -- -----","| ||| ||","||||| |||"," ----- --","| | | | ","|| |||||||","- -- -- --"};//总共7笔,每一笔对每一个数字显示不同 char str[9];//利用字符串处理测试数据将的又是在只要屏幕能容下,不管数据大小 int s,i,j,k,t; while(scanf("%d%s",&s,str)&&s!=0)//输入测试数据直到输入0 0 为止,实际上只要判断输入的s为0即可。 { for(j=0;j<7;j++)//按笔画输出为循环条件,一共输出7笔,笔画从0到6 { if(j%3==0)//输出第 0 3 6笔的时候按如下格式 { for(k=0;k<strlen(str);k++) { printf(" "); t=(int)(str[k]-48);//字符转换成对应的数字 dup(line[j][t],s);//重复输出s个该笔画 printf(" "); } printf("\n");//每次输出一笔后换行 } else //输出第1 2 4 5 笔的时候按如下格式 { for(i=1;i<=s;i++)//重复输出s个该笔画,但是要换行 { for(k=0;k<strlen(str);k++)//第1 2 和第4 5 笔是连在一行输出的 { t=(int)(str[k]-48); printf("%c",line[j][t]); dup(' ',s); printf("%c",line[j+1][t]); printf(" "); } printf("\n");//每次输出一笔后换行,对1 2 4 5 而言是输出2笔就换行 } j=j+1; } } printf("\n");//两个测试数据的输出结果换行,第一次提交错误就是犯在这儿 } } void dup(char c,int n)//重复输出字符函数,用于重复输出s个字符 { int i; for(i=1;i<=n;i++) printf("%c",c); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator