为什么求出的最大值和最小值均为0?
各位大佬求指教,代码如下:(终端运行出来后结果显示所有的最大值和最小值均为0,且“核心已转存”,用的是Ubuntu的linux系统)
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <omp.h>
void readfile(char file[],float data[][17],float b[][17])
{
int n=0,m=0;
FILE *fp;
int i,j;
printf("enter the filename:");
scanf("%[^\n]",file);
fp=fopen(file,"r");
for(i=0;i<10;i++)
{
for (j=0;j<17;j++)
{
fscanf(fp,"%f",&data[i][j]);
fseek(fp,1L,SEEK_CUR);
b[n][m]=data[i][j];
m++;
}
n++;
}
for(i=0;i<10;i++)
{
for(j=0;j<17;j++)
{
printf("%f\t",data[i][j]);
}
printf("\n");
}
fclose(fp);
}
void maxmin(float data[][17])
{
int min1 = data[0][0], min2 = data[0][0];
int max1 = data[0][0], max2 = data[0][0];
printf("min : ");
for(int j = 0; j < 17; j++)
{
for(int i = 0; i < 10; i++)
//#pragma omp critical
{
//sum1 += data[i][j];
if (min1 > data[i][j])
{min1 = data[i][j];}
//if (max1 < da[i][j])
//max1 = da[i][j];
}
printf("%d\t",min1);
}
printf("\n");
printf("max : ");
for(int j = 0; j < 17; j++)
{
for(int i = 0; i < 10; i++)
{
if (max1 < data[i][j])
{max1 = data[i][j];}
}
printf("%d\t",max1);
}
printf("\n");
}
int main()
{
char filename[170]={0};
float da[10][17];
float b[10][17];
memset(da,0,sizeof(da));
memset(b,0,sizeof(b));
readfile(filename,da,b);
maxmin(b);
}