📄 分栏.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 + -