为什么求出的最大值和最小值均为0?

为什么求出的最大值和最小值均为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);

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值