-1
int a,b,n;

printf("Input Natural Number n (n<2,100,000,000) : ");
scanf("%d",&n);

for(a=1;a<=100;a++)
    for(b=1;b<=100;b++)

        if(a<b && a*a + b*b == n*n)
        {
            printf("(%d, %d, %d)\n",a,b,n);
        }
        /*else
        {
            printf("impossible \n");
        }
          */         
        return 0;

「else」を削除すると、プログラムは正しく実行されます。しかし、「else」段落を使用して、数値がピタゴラス数であるかどうかを確認できる別の関数を作成したいと考えています。しかし、そのコードに「else」段落を入れると、結果はめまいがします....助けてください!!

4

2 に答える 2

0

入れ子になったコード ブロックを中かっこで囲みます。

int a, b, n;
int impossible = 1;

printf("Input Natural Number n      (n<2,100,000,000) : ");
scanf("%d", &n);

for (a = 1; a <= 100; a++) {
    for (b = 1; b <= 100; b++) {

        if (a < b && a * a + b * b == n * n) {
            printf("(%d, %d, %d)\n", a, b, n);
            impossible = 0;
        }
    }
}

if (impossible == 1) printf("impossible \n");

return 0;
于 2015-10-10T05:05:42.090 に答える