2013-10-25 33 views
0

这是我的输出应该是什么样子:如何将输出打印到表格中?

enter image description here

因为它是一个有点难以阅读,本质上,它是,我们基本上只是代替我们得到的功能到框中的值这个图:

enter image description here

注:即第一框是NOT(1,1),它是(1,20)。

我为此编写了一些代码,但输出并不是以这种表格的形式出现的,我不确定如何将它变成类似这样的东西。我们必须为多个功能执行此操作,但只是为了让您更容易查看/使用,我只需发布我必须执行的两个功能。

这里有两个功能:

enter image description here

这里是我的代码:

#include <stdio.h> 
#include "grove.h" 

int main() { 
    int i, j; 
    double soilqual, sunexp, irrexp, yield, qual, harvtime, plantcost, ppu, 
     rev, fprofit, retinvest, annurev, fscore; 

    printf("================ Soil Quality ================\n"); 
    for (j = 20; j >= 1; j--) { 
     for (i = 1; i <= 20; i++) { 
     soilqual = soilQuality(i, j); 
     printf(".3%f\n", soilqual); 
     } 
     printf("\n"); 
    } 
    printf("---------------------------------------------------------------   -----\n"); 
    printf("\n"); 
    printf("================ Sun Exposure ================\n"); 
    for (j = 20; j >= 1; j--) { 
     for (i = 1; i <= 20; i++) { 
     sunexp = sunExposure(i, j); 
     printf(".3%f\n", sunexp); 
     } 
     printf("\n"); 
    } 
    printf("---------------------------------------------------------------   -----\n"); 
    printf("\n"); 
} 
+0

你真的想让你的桌子看起来很糟吗?使用像'%8.3f'这样的格式使给定数据的列保持统一不是更好吗?你也不希望在最里面的格式字符串换行。 '%8.3f'格式将在2位数字的开始处留空(如果值为正值,则为空白,如果为负值,则为空白)。所以,你可能不需要为数组添加额外的间距。无论如何,你可能更喜欢包含空间;它确保这些数字不会进入每个数字,不管它们有多大。 –

+0

感谢您的输入!但是,我需要它看起来像我上面张贴的表格。 :) – Karen

+0

Yuck;然后是计算机格式而不是人类格式。但即使是愚蠢的计算机程序通常也能避免无关的空间。但是,这样吧。 –

回答

1

我不知道我得到了你想要的东西,但如果你想有一个具有20列和20行的网格尝试在内部循环中用空格替换printf中的\ n:

printf("================ Soil Quality ================\n"); 
    for (j = 20; j >= 1; j--) { 
     for (i = 1; i <= 20; i++) { 
     soilqual = soilQuality(i, j); 
     printf(".3%f ", soilqual); <<-- here 
     } 
     printf("\n"); 
    } 
+0

谢谢!这解决了我的问题! – Karen