我是一名学生,我正在尝试使最后的代码可以完成我的作业。这已经被问了一百万遍了,但是我一直找不到适合我的解决方案。运行此程序时,我只能获取要打印的数组的最后位置。我不能使用任何快捷方式(矢量,maxelement()等)。有人可以帮忙吗?
#define inputfile "C:\\C_txt_files\\wind.txt"
int i, j, nrows, ncols;
double wind_max, wind_min, wind_array[12][5], index_minmonth=0,
index_minyear=0, index_maxmonth=0, index_maxyear=0;
fscanf(wind, "%d %d", &nrows, &ncols);
/*Find Min and Max, and Compute average for each row. Locate Min and Max*/
wind_min = wind_array[0][0];
wind_max = wind_array[0][0];
for(i=0; i<nrows; i++)
{
for(j=0; j<ncols; j++)
{
if(wind_array[i][j]<wind_min)
wind_min = wind_array[i][j];
index_minmonth = i;
index_minyear = j;
if(wind_array[i][j]>wind_max)
wind_max = wind_array[i][j];
index_maxmonth = i;
index_maxyear = j;
}
}
index_minmonth += 1;
index_minyear += 1;
index_maxmonth += 1;
index_maxyear += 1;
printf("Minimum speed is %2.0f mph in month %2.0f, year %1.0f.\n", wind_min,
index_minmonth, index_minyear);
printf("Maximum speed is %2.0f mph in month %2.0f, year %1.0f.", wind_max,
index_maxmonth, index_maxyear);
这是打印的内容:
第5年的第12个月,最低速度为5 mph。
第5年的第12个月最高速度为12 mph。
最佳答案
您必须初始化变量nrows
和ncols
。否则,您将使用垃圾值。
另外,您还需要在循环正文中{}
。
否则,它只会每次更改其值,您便会到达最后一个元素的索引。
*稍后提到了关于从文件读取的操作。因此,不需要初始化部分,因为它从文件本身读取。
关于c - 我想要位置,但得到ncols和nrows数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45363968/