我正在从事一项工作,涉及用C编写一个程序,该程序从.txt文件中读取数据并将其保存在二维数组中。然后,我计算每一行和每一列的平均值。我已经编写了程序,并且运行良好,但是我希望能够使输出并排显示行平均值和列平均值,而不仅仅是在屏幕上向下显示一行。
ScreenManager
答案 0 :(得分:0)
如果要并排放置两段文本,则应在两行之间没有新行的情况下打印它们。格式化可能会很烦人,尤其是因为平均值不太可能是相同位数。
您是否意味着要下订单row_avg[i]
,col_avg[i]
,row_avg[i+1]
,col_avg[i+1]
等?
如果是,请按以下步骤操作。关键是在同一循环中使i
和j
递增。您正在做的是为j
的每一行将0
初始化为i
。
j=0;
for(i=0; i<nrows; i++)
{
printf("\nAverage for row %i", i);
printf("\n %5.2lf", row_avg[i]);
fprintf(fileavg, "\nAverage for row %i", i);
fprintf(fileavg, "\n %5.2lf", row_avg[i]);
if (j < ncols) {
printf("\nAverage for column %i", j);
printf("\n %5.2lf", col_avg[j]);
fprintf(fileavg, "\nAverage for column %i", j);
fprintf(fileavg, "\n %5.2lf", col_avg[j]);
}
jj++
}
我认为这是您想要的基本结构。如果使用nrows == ncols
,则不必担心该j < ncols
子句,只需将其打印出来即可。
您可以重新排列打印语句,包括和排除\n
和\t
,以获得所需的结果。另外,通常最好将新行放在之后而不是之前,但是我不确定这是如何编码的。