アプリ版:「スタンプのみでお礼する」機能のリリースについて

やり方としては
int a;
a=1
while(a<=10)
{
printf("%d",a);
a=a+1;
}
で1~10まで出せたのですが
次にifを使い1~10まで出していたのを2468としたいのですが
どのようにすればいいのでしょうか?

A 回答 (4件)

★アドバイス


・while の上ではなくて中です。
 つまり、
 int a;
 
 // for文で書き直してみました。
 for ( a = 1 ; a <= 10 ; a++ ){
  if ( a & 1 ){ ←ビットANDで奇数判定
   奇数
  }
  else{
   偶数
  }
 }
・以上。
    • good
    • 1
この回答へのお礼

なるほどです
中にいれるということがわかりました
ありがとうございます

お礼日時:2007/06/19 10:31

★アドバイス


・『while』と『if』を組み合わせて偶数を表示するならビット AND を使っても出来ますね。
 10進 2進 ビットANDの結果
 01  0001 1(奇数)
 02  0010 0(偶数)
 03  0011 1(奇数)
 04  0100 0(偶数)
 05  0101 1(奇数)
 06  0110 0(偶数)
 07  0111 1(奇数)
 08  1000 0(偶数)
 09  1001 1(奇数)
 10  1010 0(偶数)
 :   :
 となります。

例:
if ( a & 1 ){ ←ビットAND
 奇数
}
else{
 偶数
}

最後に:
・ビット AND については下の『参考URL』をどうぞ。
・以上。

参考URL:http://www9.plala.or.jp/sgwr-t/c/sec14.html
    • good
    • 0

int a;


a=2
while(a<10)
{
printf("%d",a);
a=a+2;
}
ではどうでしょうか?
    • good
    • 0

C 言語でしょうか?



if (a%2 == 0){
偶数の処理
} else {
奇数の処理
}

でいかがでしょうか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます
Cの方です 言っていなくてすみません
if(a%2==0)
が偶数を表しているのがわかりました
このifはwhileの↑にやればいいのでしょうか?

お礼日時:2007/06/18 22:55

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