2013-10-25 35 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