2016-12-13 13 views
0

我想計算算術級數的總和,其中我們必須從用戶處取3個變量。 a =第一個數字,b =步長/增量,c =序列的長度。 如果有超過1個測試用例,說三個,那麼我必須三次掃描a,b,c。這個怎麼做? E.g scanf(「%d%d%d」,a,b,c);在第一個測試用例中不影響初始值3次。根據測試用例掃描多個變量?

+0

如果您知道確切的次數,請使用for循環。否則,使用while循環(並選擇合理的退出條件)。當你說不影響初始值時,你是否想要將它們存儲在數組中供以後使用? – doctorlove

+0

如果我有2個測試用例a,b,c = 1,2,5,那麼progession wud的總和就是1+ 3 + 5 + 7 + 9 = 25, – Vinnny

+0

在第二種情況下,我可以有a,b,c = 4 ,2,10等。基本上我想每次使用a,b,c的值來計算新的總和。 – Vinnny

回答

0

把scanf(「%d%d%d」,a,b,c);在一個循環內,然後在同一個循環中進行你想要對這些值做什麼的編碼,確保寫下這行scanf(「%d%d%d」,a,b,c);在你的工作代碼之前。或者如果你想保存數值,然後爲a,b,c像aValues [] bValues [] cValuesthen []那樣使用declear數組,然後通過循環將數據放入數組中。

+0

假設我有一個函數來計算總和任務。如何將數組中的數字作爲函數參數傳遞? – Vinnny

+0

void function(data_type param []){在這裏做你的代碼..... –

+0

或者你可以使用指針作爲函數參數..但是如果你不能很好地維護你的代碼,有時會造成bug –

0

如果您不知道測試用例,請先閱讀並將其存儲在變量中。

int calculate_ap(int a, int b, int c) 
{ 
    //Implement function to calculate Arithmetic progression and return the result 
} 

int main() 
{ 
    int test_cases = 0; 
    int a, b, c; 
    scanf("%d", &test_cases); //Reads no of test cases 
    while(test_cases--) 
    { 
     scanf("%d, %d, %d", &a, &b, &c); //read A, B, C 
     printf("%d\n", calculate_ap(a, b, c)); 
    } 

} 

希望這會有所幫助。