【最大10000ポイント】当たる!!質問投稿キャンペーン!

やり方としては
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で質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qif文を使わずに奇数・偶数を判断

はじめまして。C言語解説サイトを巡ってみたのですが、if文無しの奇数偶数判断にまで辿りつかず頭を抱えています。
任意の数字を(指定回数分)打ち込み、奇数だった場合のみ加算し合計を表示するというプログラムを作成したいのですが色々と規制がかかっており、if文・switch文は使用不可/ループも1回のみとなっています。
if文を使えれば x%2 == 1 で奇数と判断できるのですが・・・。

■ if文を使わず奇数・偶数かを判断→加算 の流れ

を是非教えて頂きたいです。お時間ありましたらご教授よろしくお願い致します。

Aベストアンサー

打ち込んだ数値が整数だったらの話ですが。

・偶数の場合2で割った余りは0 奇数の場合2で割った余りは1

・(上で余りとして出た)0を掛けた答えは0
・(上で余りとして出た)1を掛けた答えは奇数だった数値そのもの

というのを利用するとif文無しで奇数のみを加算できそうですね。

QC言語 偶数判定

下記は、「1から5までの整数で偶数の和を表示する」というプログラムなのですが、
偶数判定に用いている if ( ! ( i % 2 ) ) の意味が分からないので、どなたか教えていただけないでしょうか?
( i % 2 = = 0 で条件判定をするのなら理解できるのですが…)

#include <stdio.h>
int main(){
int i=1,total=0;
while (1){
if(i>5)break;
if ( ! ( i % 2 ) ) total+=i;
i++;
}
printf("%d",total);
return0;
}

Aベストアンサー

こんにちは

”i % 2”はiを2で割った余りを示すので、
偶数だと0、奇数だと1になります。

そこで、
iを2で割った余りが0ならば、を言い換えて
iを2で割った余りが1でないならば、という条件式になっています。
それがif ( ! ( i % 2 ) ) です。
※if文内は1がTrueになりますので。

ちなみに、仰る通り、i % 2 == 0で条件判定しても同じです。

以上です。

Q「%」を使って、偶数か奇数かを判別するプログラムです。

http://webkaru.net/clang/check-odd-even/
 ですが!仕組みがいまいちわかりません。
えーとaがif5だったら%2に==0を代入した場合・・・
 なのでelseに回される。
 だと思うのですが!?以上の・・・の内容がわかればこのプログラムの意味が
分かると思うのですが、どなたか教えていただけないでしょうか?
 以下プログラムです。
 よろしくお願いいたします
#include <stdio.h>

int main(void)
{
int a;

printf("整数を入力してください = ");
scanf("%d",&a);

if( a % 2 == 0 ){
printf("%d は偶数です\n", a);
} else {
printf("%d は奇数です\n", a);
}

return 0
}

Aベストアンサー

続けて失礼します。

> 「使用例」の”a=B%C;”を数字の置き換えた場合ご説明をしてくださるお
 方がおられましたらご教授をお願いいたします。

a = 5 % 3 の場合
5割る3は、商が1, 余り2です。
従ってaには2が代入されます。


人気Q&Aランキング