Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:修改一次后提交成功的代码

Posted by qiaoqiaohaoma at 2010-08-17 15:37:06 on Problem 1102
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator