问题
在打印社工作的小侯接到一个新任务,需要将一份文本文件data.dic的部分内容按照特殊要求打印。
已知文件有m(<25)行文字,每行最多有n(<80)个ascii字符,打印时按照古文书写格式自上而下,自右向左显示文字内容。比如一个具有5行10列的文件如下:
Nothing is
impossibl
e to a wil
ling heart
.
文件的第1行至第5行按照古文书写格式输出为10行5列的文字如下:
. l e N
i i o
n t m t
g o p h
o i
h a s n
e s g
a w i
r i b i
t l l s
请帮助小侯完成程序设计。
输入
3 4
输出
le
i
nt
go
ha
e
aw
ri
tl
代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,i,j;
char str[25][80];
FILE *fp;
fp=fopen("data.dic","r");
if((fp=fopen("data.dic","r"))==NULL)
{
printf("cant open");
exit(1);
}
for(i=0; i<5; i++)
for(j=0; j<11; j++)
{
if((str[i][j]=fgetc(fp))=='\n')
j--;
}
scanf("%d %d",&a,&b);
a=a-1,b=b-1;
for(j=0; j<10; j++)
{
for(i=b; i>=a; i--)
{
putchar(str[i][j]);
}
printf("\n");
}
fclose(fp);
return 0;
}
总结:
题目不难,但挺有意思的...