2016-12-13 7 views
0

私はユーザーから3つの変数を取らなければならない算術的な進行の合計を計算したいと思います。 a =最初の数、b =ステップサイズ/増分、c =シーケンスの長さ。 1つ以上のテストケース、たとえば3つがある場合は、a、b、cを3回スキャンする必要があります。これを行う方法? Eg scanf( "%d%d%d"、a、b、c);最初のテストケースで初期値に影響を与えることなく3回。テストケースに応じて複数の変数をスキャンしますか?

+0

正確な回数を知っている場合は、forループを使用します。それ以外の場合は、whileループを使用します(そして、合理的な終了条件を選択します)。初期値に影響を与えずに言うなら、後で使うためにこれらを配列に保存したいですか? – doctorlove

+0

2つのテストケースa、b、c = 1,2,5の場合は、1 + 3 + 5 + 7 + 9 = 25、 – Vinnny

+0

となる。私はa、b、c = 4 、2、10など。基本的には、新しい合計を計算するたびにa、b、cの値を使用したいと思います。 – Vinnny

答えて

0

put scanf( "%d%d%d"、a、b、c);ループの中で同じループ内で値を使って何をしたいのかを記述するには、この行scanf( "%d%d%d"、a、b、c)を必ず書きます。あなたの作業コードの前に。値を保存する場合は、aValues [] bValues [] cValuesthen []のようにa、b、cの配列をdeclearし、ループ内で配列内にデータを配置します。

+0

私はsumタスクを計算する関数を持っているとしましょう。関数のパラメータとして配列に数値を渡すにはどうすればよいですか? – Vinnny

+0

void function(data_type param []){ここにコードを書く.....} –

+0

または関数のパラメータとしてポインタを使用することはできますが、コードをよくメンテナンスできない場合はいつかバグを作成します –

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)); 
    } 

} 

これが役立ちます。

関連する問題