-3

2 つの数値の gcd を計算するサンプル プログラムを作成しました。ここにあります:

#include stdio.h

int main(void) {
    int m, n, rem;

    printf("Enter two numbers consecutively(with a space between them): ");
    scanf("%d %d", &m, &n);

    while (m) {
        n = m % n; //problem here 
        n = rem;
    }

    printf("%d is the GCD", rem);

    return 0;
}          

モジュロ演算子ステートメントの出力を rem に格納することになっていると思いますが、これまでのところ、プログラムは与えられた入力に応答しません。誰かが私に手がかりを与えることができますか?

4

3 に答える 3

2

誰かが私に手がかりを与えることができますか?

mまず、ループ内で変更していないため、終了できません。

于 2013-02-10T11:52:38.950 に答える
1

誰かが私に手がかりを与えることができますか

remnは初期値が設定されておらず、ループ内での値を2回変更しようとしています。

于 2013-02-10T11:59:36.430 に答える
0

コンピュータープログラムのコンテキスト外で変数を使用して、Euclidieanアルゴリズムを手動で使用する方法を書き留めておくことをお勧めします。ともかく:

    n = m % n; //problem here 
    n = rem;

これはどのように何かを達成しますか?「n=1つのこと」、次に「n =別のこと」と言いますが、その間は何もしません。

于 2013-02-10T12:01:16.997 に答える