描述:
            #include "stdio.h"
#include "string.h"
#include "stdlib.h"
main()
{
int as[255][255],to=0,ta=0,ass[255],mo[255][255],i2,wb[255];
int fun(char x);
int width=80;
char align='l',fonts[20],calgphy2[20]={'c','a','l','g','p','h','y','2'},alligator3[20]={'a','l','l','i','g','a','t','o','r','3'};
void parse_para(int argc,char *argv[])	//命令行参数
{
	int i;23;
	for(int i=1;i<argc;i++)
	{
		if(argv[i][0]='-')
		{
			switch(argv[i][1])
			{
				case 'w':
				width=atoi(argv[i+1]);
				break;
				case 'l':
				case 'r':
				case 'c':
					align=argv[i][1];
					break;
				case 'f':
				strcpy(fonts,argv[i+1]);
				break;
			}
		}
	}
}
int fun(char x)					//对哪一个字母进行确定
{
	if(x<='9'&&x>='0')
	{
		return (int)x-48+52;
	}
	else if(x>='a'&&x<='z')
	{
		return (int)x-97+0;
	}
	else if(x>='A'&&x<='Z')
	{
		return (int)x-65+26;
	}
	else
		return 0;
}
int main(int argc,char *argv[])	//主体文件
{
	int i,k,j,g,m,n,z,v,b,d,l,q,w=0,usew,i1=0,bull;
	char name='A',d3[62][20][30],c,f[255], *sf,*p1,*p2,*p3,wa[255][255];
	parse_para(argc,argv);
	FILE *fp;
	if(strcmp(fonts,calgphy2)==0)
	{
		char d3[62][20][30];
		if((fp=fopen("b.txt","r"))==NULL)
			exit(1);
		for(k=0;k<62;k++)					//从文件里提取
		{
			for(i=0;i<20;i++)
			{
				fgets(d3[k][i],30,fp);
				int len=strlen(d3[k][i]);
				d3[k][i][len-1]='\0';
			}
		}
		for(;;i2++)
		{
			for(i1=0;i1<=ta;i1++)
			{
				ass[i1]=0;
			}	
			f[0]='\0';
			gets(f);
			if(strlen(f)<(width/10))
				bull=1;
			if(strlen(f)>=(width/10))
				bull=0;
			if(!memcmp(f,"quit",4))
				exit(0);
			for(sf=f,ta=0;*sf;)
			{
					if(*sf!=' ')
					{
						if((ass[ta])%((width-1)/10)==0&&(ass[ta]!=0))
						{
							ta++;
						}
						as[ta][(ass[ta])++]=fun(*sf);
						sf++;
					}
					else if(*sf==' ')
					{
						while(*sf==' ')
						{
							sf++;
						}
						ta++;
					}
			}
			if(bull==1)	
			{
				for(m=0;m<=ta;m++)
				{
					for(b=0;b<ass[m];b++)
					{
						for(d=0;d<27;d++)
						{
							if(d3[as[m][b]][0][d]<32)
								continue;
							else
								mo[i2][0]++;
						}
					}
					mo[i2][0]++;
				}
				for(l=0;l<20;l++)
				{
					if(align=='c')					//居中
					{
						g=(width-mo[i2][0])/2;
						for(z=0;z<g;z++)
						{
							printf(" ");
						}
					}
					if(align=='r')					//右对齐
					{
						g=(width-mo[i2][0]);
						for(z=0;z<g-1;z++)
							printf(" ");
					}
					for(m=0;m<=ta;m++)
					{	
						for(b=0;b<ass[m];b++)
						{
							for(d=0;d<27;d++)
							{
								if(d3[as[m][b]][l][d]<32)
									continue;
								else
								printf("%c",d3[as[m][b]][l][d]);
							} 
						}
						printf(" ");
					}
					printf("\n");
				}
			}	
			if(bull==0)	
			{
				for(m=0;m<=ta;m++)
				{
					for(b=0;b<ass[m];b++)
					{
						for(d=0;d<27;d++)
						{
							if(d3[as[m][b]][0][d]<32)
								continue;
							else
								mo[i2][m]++;
						}
					}
				}
				for(m=0;m<=ta;m++)
				{
					for(l=0;l<20;l++)
					{
						if(align=='c')					//居中
						{
							g=(width-mo[i2][m])/2;
							for(z=0;z<g;z++)
							{
								printf(" ");
							}
						}
						if(align=='r')					//右对齐
						{
							g=(width-mo[i2][m]);
							for(z=0;z<g-1;z++)
								printf(" ");
						}
						for(b=0;b<ass[m];b++)
						{
							for(d=0;d<27;d++)
							{
								if(d3[as[m][b]][l][d]<32)
									continue;
								else
								printf("%c",d3[as[m][b]][l][d]);
							} 
						}
						printf("\n");
					}
					printf("\n");
				}
			}
		}
	}
	if(strcmp(fonts,alligator3)==0)
	{
		char d3[62][7][17];
		if((fp=fopen("a.txt","r"))==NULL)
			exit(1);
		for(k=0;k<62;k++)					//从文件里提取
		{
			for(i=0;i<7;i++)
			{
				fgets(d3[k][i],17,fp);
				int len=strlen(d3[k][i]);
				d3[k][i][len-1]='\0';
			}
		}
		for(;;i2++)
		{
			for(i1=0;i1<=ta;i1++)
			{
				ass[i1]=0;
			}	
			f[0]='\0';
			gets(f);
			if(strlen(f)*14<(width))
				bull=1;
			if(strlen(f)*14>=(width))
				bull=0;
			if(!memcmp(f,"quit",4))
				exit(0);
			for(sf=f,ta=0;*sf;)
			{
					if(*sf!=' ')
					{
						if((ass[ta])%((width-1)/14)==0&&(ass[ta]!=0))
						{
							ta++;
						}
						as[ta][(ass[ta])++]=fun(*sf);
						sf++;
					}
					else if(*sf==' ')
					{
						while(*sf==' ')
						{
							sf++;
						}
						ta++;
					}
			}
			if(bull==1)	
			{
				for(m=0;m<=ta;m++)
				{
					for(b=0;b<ass[m];b++)
					{
						for(d=0;d<14;d++)
						{
							if(d3[as[m][b]][0][d]<32)
								continue;
							else
								mo[i2][0]++;
						}
					}
					mo[i2][0]++;
				}
				for(l=0;l<7;l++)
				{
					if(align=='c')					//居中
					{
						g=(width-mo[i2][0])/2;
						for(z=0;z<g;z++)
						{
							printf(" ");
						}
					}
					if(align=='r')					//右对齐
					{
						g=(width-mo[i2][0]);
						for(z=0;z<g-1;z++)
							printf(" ");
					}
					for(m=0;m<=ta;m++)
					{	
						for(b=0;b<ass[m];b++)
						{
							for(d=0;d<14;d++)
							{
								if(d3[as[m][b]][l][d]<32)
									continue;
								else
								printf("%c",d3[as[m][b]][l][d]);
							} 
						}
						printf(" ");
					}
					printf("\n");
				}
			}	
			if(bull==0)	
			{
				for(m=0;m<=ta;m++)
				{
					for(b=0;b<ass[m];b++)
					{
						for(d=0;d<14;d++)
						{
							if(d3[as[m][b]][0][d]<32)
								continue;
							else
								mo[i2][m]++;
						}
					}
				}
				for(m=0;m<=ta;m++)
				{
					for(l=0;l<7;l++)
					{
						if(align=='c')					//居中
						{
							g=(width-mo[i2][m])/2;
							for(z=0;z<g;z++)
							{
								printf(" ");
							}
						}
 

