プロが教える店舗&オフィスのセキュリティ対策術

プログラミングについてです。
値を3つ入力して、それを足して、その合計値が奇数か偶数かを判断する。それを5回繰り返すプログラムを作ったのですが、何回も繰り返します。

#include<stdio.h>
int main(){
int i[3],ans,a;

a=0;
while(a<5){

printf("値を入力して下さい¥n");
scanf("%d",&i[0]);
scanf("%d",&i[1]);
scanf("%d",&i[2]);

ans=i[0]+i[1]+i[2];
printf("ans=%d¥n",ans);

if(ans%2==0){
printf("偶数¥n");
} else {
printf("奇数¥n");
a++;
}
}
}

というプログラムなのですが、どこがダメなのでしょうか??教えて頂けると幸いです。。

A 回答 (2件)

#include<stdio.h>



int main(){
 int i[3],ans,a;

 a=0;
 while(a<5){

  printf("値を入力して下さい¥n");
  scanf("%d",&i[0]);
  scanf("%d",&i[1]);
  scanf("%d",&i[2]);

  ans=i[0]+i[1]+i[2];
  printf("ans=%d¥n",ans);

  if(ans%2==0){
   printf("偶数¥n");
  } else {
   printf("奇数¥n");
   a++; // <- この演算の位置は本当にココでいいの?
  }
 }     // return 0: はどこに置く?
}
    • good
    • 0

a++:


の位置、含まれるブロックが間違っています
これだと、合計が奇数になる回数が5回に成らないと終わりません

こういった決められた回数で繰り返す場合は、for文を使ったほうが良いですよ
今回のような間違いも起きにくいし
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!