⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 分栏.c

📁 该程序可以将你存在文件中的字符进行分栏
💻 C
字号:
#include<stdio.h>
#include<conio.h>
main()
{
  FILE *fp;
  int a=0,b=0,f,l,h,c,d,e,i=1,q,z,sum,j,k=1,m,biaohao[1000],n=1,g;
  char zifu[1000][1000],filename[12],mubiao[12],ch;
  biaohao[0]=1;biaohao[1]=1;
  goto loop0;
loop0:
  printf("请输入栏数:");
  scanf("%d",&f);
  printf("请输入栏宽:");
  scanf("%d",&l);
  printf("请输入行数:");
  scanf("%d",&h);
  if(f*(l+3)>80)
  {
	  printf("行距不够,请重新输入.\n");
	  goto loop0;
  }
  g=(80-f*(l+3))/f;
  printf("%d\n",g);
  printf("请输入页间间隔:");
  scanf("%d",&g);
  printf("请输入源文件名:");
  scanf("%s",filename);
  printf("请输入目标文件名:");
  scanf("%s",mubiao);
  fp=fopen(filename,"r");
  if(fp==NULL)
	  printf("error");
   biaohao[a]=n;
  while((ch=fgetc(fp))!=EOF)
  {
	 if(ch=='\n')
	  {
		  for(z=b;z<l;z++)
		  {
			  zifu[a][z]=32;
		  }
		  a++;
		  n++;
		  biaohao[a]=n;
		  b=0;		 
	  }
	  else 
	  if((b+1)>=l)
	  {   
		  zifu[a][b]=ch;
		  a++;
		  b=0;  
		  biaohao[a]=0;
	  }
	  else
	  {
		  zifu[a][b]=ch;
	      b++;
	  }
  }
  sum=i*f*h; 
  m=a;
while(1>0)
{
	if(sum>(a+1))
	{
		while((a+1)<=sum)
		{
			for(q=0;q<l;q++)
			{
				zifu[a][q]=32;
			}
			a++;
			biaohao[a]=0;
		}
		break;
	}
	else
		sum=sum+i*f*h;
}
  fp=fopen(mubiao,"w");
  i=(a+1)/(h*f);
        for(c=1;c<=i;c++)
		{   
			for(d=0;d<h;d++)
			{   
				for(e=0;e<f;e++)
				{
					if(biaohao[(c-1)*h*f+e*h+d]!=0)		
					{
						if(biaohao[(c-1)*h*f+e*h+d]>=10)
						{
							printf("%d ",biaohao[(c-1)*h*f+e*h+d]);
					        fprintf(fp,"%d ",biaohao[(c-1)*h*f+e*h+d]);
						}
						else
						{
							printf("%d  ",biaohao[(c-1)*h*f+e*h+d]);
					        fprintf(fp,"%d  ",biaohao[(c-1)*h*f+e*h+d]);
						}
					   for(j=0;j<l;j++)
					   {
					        printf("%c",zifu[e*h+(c-1)*h*f+d][j]);
					        fprintf(fp,"%c",zifu[e*h+(c-1)*h*f+d][j]);
					   }
					}
					   else
					   {
						   printf("   ");
						   fprintf(fp,"   ");
						   for(j=0;j<l;j++)
						   {
					        printf("%c",zifu[e*h+(c-1)*h*f+d][j]);
					        fprintf(fp,"%c",zifu[e*h+(c-1)*h*f+d][j]);
						   }
					   }
					   for(j=1;j<=g;j++)
					   {
					   printf(" ");
					   }
				}
				printf("\n");
				fprintf(fp,"\n");
			}
			for(j=1;j<=g;j++)
			{
				if(j==g)
				{	printf(".................................................%d\n",c);
			        fprintf(fp,".................................................%d\n",c);
				}
				else
				{
					printf("\n");
		            fprintf(fp,"\n");
				}
			}
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -