把以下30组数组建立个文本文件,在文件里读取数组.读取30组数组然后只输出30组数组中的有关行中第一列的数,既读取a[i][0]....,然后输出三组二维数组.
第一组的输出要求是:0 6 12 18 24 行中的第一列的3 10 11 12 21数
第二组的输出要求是:2 8 14 20 26 行中的第一列的1 2 5 19 20 数
第三组的输出要求是:4 10 16 22 28 行中的第一列的6 8 9 17 21 数
但我编写的程序不能够正确地输出.问题出在哪?拜托!!!
#include<stdio.h>
int ab1;
int b[1000][5];
void edu1(int b[][5],int ab1);
void shzh1(int a[][5],int ab1);
void main()
{
int a[1000][5];
ab1=3;
edu1(b,ab1);
shzh1(a,ab1);
}
void edu1(int b[][5],int ab1)
{
int i,j;
FILE *pf;
if((pf=fopen(“e:\\01.txt”,”r”))==NULL)
{
printf(“Cannot open file!”);
return;
}
for(i=0;i<ab1;i++)
for(j=0;j<5;j++)
{
fscanf(pf,”%4d”,&b[i][j]);
fscanf(pf,”\n”);
}
fclose(pf);
}
void shzh1(int a[][5],int ab1)
{
int i,j,abx;
FILE *pf;
if((pf=fopen(“e:\\02.txt”,”w”))==NULL)
{
printf(“Cannot open file!”);
return;
}
i=0;
for(i=i*ab1*2;i<ab1;i++)//第一次循环:0*3*2; 第二次循环:1*3*2;第三次循环:2*3*2;第四次循环:3*3*2;第五次循环:4*3*2;
{
abx=i*ab1*2;
for(j=0;j<5;j++)
{
a[i][j]=b[abx][0];//把 0 6 12 18 24行第一列的数赋给a[i][j];
} //把 2 8 14 20 26行第一列的数赋给a[i][j];
{ //把 4 10 16 22 28行第一列的数赋给a[i][j];
for(j=0;j<5;j++)
fprintf(pf,”%4d”,a[i][j]);
fprintf(pf,”\n”);
}
}
fclose(pf);
}
3 4 5 7 9
2 1 1 1 1
1 2 1 1 1
3 1 0 0 0
6 5 1 1 1
2 1 0 0 0
10 1 1 1 1
6 0 0 0 0
2 3 1 1 1
2 2 0 0 0
8 7 1 1 1
2 1 0 0 0
11 1 1 1 1
6 0 0 0 0
5 1 1 1 1
4 0 0 0 0
9 1 1 1 1
3 0 0 0 0
12 13 14 1 1
4 1 1 0 0
19 18 1 1 1
3 1 0 0 0
17 18 19 1 1
1 1 1 0 0
21 15 16 22 1
3 1 1 1 0
20 21 22 1 1
2 1 1 0 0
21 1 1 1 1
3 0 0 0 0
>> 本文固定链接: http://www.vcgood.com/archives/2891