我的代码如下:
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char x[30], y[30];
printf("请输入第一个文件名:");
gets(x);
printf("请输入第二个文件名:");
gets(y);
FILE*in1, *in2;
int line1 = 0, line2 = 0, row1 = 0, row2 = 0;
char a[100] = { 0 }, b[100] = { 0 };
int i1 = 0, i2 = 0, n = 0;
float c[1000], d[1000];
if ((in1 = fopen(x, "r")) == NULL)
{
printf("输入有误\n");
exit(0);
}
if ((in2 = fopen(y, "r")) == NULL)
{
printf("输入有误\n");
exit(0);
}
for (i1=0;!feof(in1);i1++)
{
fscanf(in1,"%f",&c[i1]);
}
for (i2=0;!feof(in2);i2++)
{
fscanf(in2,"%f",&d[i2]);
}
while (fgets(a, sizeof (a)-1, in1))
{
line1++;
}
while (fgets(b, sizeof (b)-1, in2))
{
line2++;
}
row1=(i1+1)/line1;
row2=(i2+1)/line2;
printf("%d行%d列\n%d行%d列\n", line1, row1, line2, row2);
return 0;
}
调用的txt文件:是含有一个数组的两个文件
结果总是出差表示不懂啊
#include <stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char x[30], y[30];
printf("请输入第一个文件名:");
gets(x);
printf("请输入第二个文件名:");
gets(y);
FILE*in1, *in2;
int line1 = 0, line2 = 0, row1 = 0, row2 = 0;
char a[100] = { 0 }, b[100] = { 0 };
int i1 = 0, i2 = 0, n = 0;
float c[1000], d[1000];
if ((in1 = fopen(x, "r")) == NULL)
{
printf("输入有误\n");
exit(0);
}
if ((in2 = fopen(y, "r")) == NULL)
{
printf("输入有误\n");
exit(0);
}
for (i1=0;!feof(in1);i1++)
{
fscanf(in1,"%f",&c[i1]);
}
for (i2=0;!feof(in2);i2++)
{
fscanf(in2,"%f",&d[i2]);
}
while (fgets(a, sizeof (a)-1, in1))
{
line1++;
}
while (fgets(b, sizeof (b)-1, in2))
{
line2++;
}
row1=(i1+1)/line1;
row2=(i2+1)/line2;
printf("%d行%d列\n%d行%d列\n", line1, row1, line2, row2);
return 0;
}
调用的txt文件:是含有一个数组的两个文件
结果总是出差表示不懂啊