2014-11-06 31 views
-1

中的表格我試圖創建一個表格,根據輸入的數字計算功率因數(例如4 )。Hardy with Objective-C

例如,如果我輸入4,它將創建4行從1開始,並用64結束或如果我輸入6,它將創建6行從1開始的結果,並用216

結束結果的

我也試圖創建具有特定標題的列,但它們不與數字對齊。例如:x x^2 x^3將是標題,但數字不能正確對齊。

目前,我似乎正在計算輸入的數字,但只有這個數字。另外,它打印了8次,我不知道爲什麼。

我也似乎無法弄清楚如何重複循環。例如,如果我輸入11(我的參數以外),我有一條消息,但不知道如何循環回到頂端再試一次。請幫忙!

以下是我迄今:

{ 
    int x; 
    int y = 10; 
    int rows; 
    int columns; 

    NSLog(@"Enter your number: "); 
    scanf("%i", &x); 

    { 
     NSLog(@"x x^2 x^3"); 

     for (rows = 0; rows <= 1; rows++) 
     { 
      for (columns = 1; columns <= 3; columns++) 
      { 
       if (x < y) 
        NSLog(@"%d %d %d", x, x*x, x*x*x); 
       else 
        NSLog(@"You are wrong!"); 
      } 
     } 
    } 
    return 0; 
} 

回答

0

你的循環和輸出是錯誤的。你最多循環超過兩rows

for (rows = 0; rows <= 1; rows++) 

根據你的問題,你要循環x行:

for (rows = 0; rows < x; rows++) 

您有columns一個循環,但打印出您的行一次與NSLog

for (rows = 1; rows <= x; rows++) { 
    NSLog(@"%d %d %d", rows, rows*rows, rows*rows*rows); 
} 

現在,您只需正確使用格式標記即可爲列獲得正確的間距。

NSLog(@"   x  x^2  x^3"); 
for (rows = 1; rows <= x; rows++) { 
    NSLog(@"%10d %10d %10d", rows, rows*rows, rows*rows*rows); 
} 
+0

謝謝伊恩!這解決了我的計算和表問題!我可以啾啾列。我還有另外一個問題,如果我輸入11或更高,它似乎不會終止。我嘗試了一個if else語句,但卻發現一個錯誤,並說「預期的表達式」。我可能錯過了一些相當小的東西。最後一件事,如果進入11或更高版本,我將如何將程序發回迴路? – 2014-11-06 20:36:49