2

簡略化されたプログラミングから GCD および LCM プログラムを実行しようとしているときに、結果の問題に直面しています。私は(私によると)すべてを正しく行い、単語ごとにチェックしましたが、問題は解決しません...通常の方法のコードのみを貼り付けています。

#include <stdio.h>

int main()
{
    int a, b, x, y, t, gcd, lcm;
  
    printf("Enter first number :");
    scanf("%d", &a);
    printf("Enter first number :");
    scanf("%d", &b);
  
    a = x;
    b = y;
  
    while (b != 0)
    {
        t = b;
        b = a % b;
        a = t;
    }
  
    gcd = a;
    lcm = (x * y)/gcd;
  
    printf("Greatest common divisior of %d and %d = %d\n", x, y, gcd);
    printf("Lowest common divisior of %d and %d = %d\n", x, y, lcm);
  
    getch();    
}
4

3 に答える 3

3

少なくともこの部分は根本的に間違っています。

int a, b, x, y, t, gcd, lcm;

printf("Enter first number :");
scanf("%d", &a);
printf("Enter first number :");
scanf("%d", &b);

a = x;
b = y;

したがって、宣言しxて初期化していないので、それらをandyに割り当てています-今、ユーザーが入力した値は含まれていませんが、いくつかのゴミが含まれています。あなたはおそらくしたいですabab

x = a;
y = b;

代わりは。

于 2012-12-17T23:52:13.887 に答える