• ベストアンサー

ヒントを教えて欲しいです

2と1が同時に表示されてしまうのです。 キーボードから2個の整数を読み込み、それらの和と差がともに偶数であれば整数の2を表示し、いずれか一方のみが偶数の場合は1を表示し、それ以外の場合は整数の0を表示するプログラムを作れ #include<stdio.h> main() { int A,B; printf("Enter an integer:"); scanf("%d",&A); printf("Enter an integer:"); scanf("%d",&B); if((A+B)%2==0,(A-B)%2==0){ /* 偶数ならば */ printf("2\n"); } if((A+B)%2==0){ /* 偶数ならば */ if((A-B)%2==0) /* 偶数ならば */ printf("1\n"); } else{ /* 奇数ならば */ printf("0\n"); } }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

コンパイルエラーが出てたいませんか? >if((A+B)%2==0,(A-B)%2==0) こういうのはできませんよ。 複合条件式の書き方を勉強してください(&&、||)。 それと(A+B)、(A-B)を繰り返すよりも、 wa=(A+B); sa=(A-B); と最初に計算してその結果を使用したほうがスマートです。

wing444
質問者

補足

コンパイルエラーは出ていません。 複合条件式勉強します。 最初に計算するんですね 書き直してみます。

その他の回答 (1)

  • DRArusOK
  • ベストアンサー率27% (19/69)
回答No.2

0で初期化する。 和が偶数だったら1を足す。 差が偶数だったら1を足す。 表示する。

wing444
質問者

補足

足すんですか…? プログラミングは初心者で授業の宿題であまりわからないんです…

関連するQ&A

専門家に質問してみよう