• 締切済み

C言語

C言語初心者です。 整数を入力しその数が偶数ならプログラムを終了する。奇数ならそれが3の倍数か3の倍数でないかを表示する。入力した数が奇数ならこの操作を何回も繰り返すプログラムを作りたいです。 このプログラムのソースを教えてください。

noname#136692
noname#136692

みんなの回答

回答No.3

目的のプログラムを作成するにあたり、次のことを用意しました。 1.#define プリプロセッサを使って入力を見易く、見通しの良いプログラムにする。  printf("> ");  scanf("%d", &a);  と書き直すことができます。 2.while() 文の条件判断に入力した値を用いる。回答プログラムの「a & 0x01」は「(a & 0x01) != 0」のことです。 3.結果の出力はここでも見易く三項演算子を使う。回答プログラムの「a % 3」は「a % 3 != 0」のことです。 /* 回答プログラム例 */ #include <stdio.h> // printf() #define input(x,y) printf(x),scanf("%d",y) int main(void) { int a; input("> ", &a); while(a & 0x01) { printf("It %s a multiple of 3.\n", a % 3 ? "isn't" : "is"); input("> ", &a); } return 0; } /* --- 実行結果 --- > 1 It isn't a multiple of 3. > 3 It is a multiple of 3. > 5 It isn't a multiple of 3. > 7 It isn't a multiple of 3. > 9 It is a multiple of 3. > 2 --- ここまで --- */

回答No.2

int main() {   int value = 0;      while( 1 )   {     printf( "数を入力してください:" );     scanf( "%d", &value );     if( !( value & 0x01 ) )       break;     if( value % 3 )       printf( "3の倍数ではありません\n" );     else       printf( "3の倍数です\n" );   } }

noname#198951
noname#198951
回答No.1

それは教えてください ではなく、組んでくださいという他力本願。 何がわかっていて、何がわかってないのかがないなら、答えを丸写しするだけであなたの知識にはなりませんよ。

関連するQ&A

  • C言語

    C言語のプログラムで『正の整数を読み込み、その整数より小さい3の倍数を全て表示するプログラムを作る』 これをどなたかプログラミングしてください。お願いします。

  • 関数はあるがC言語で書けないプログラム

    数学的に関数はあるがC言語では書けないプログラムを 探しています。 関数自体は偶数か奇数(0以上の整数)を返す関数で しかしプログラムでは書けないというものです。 よろしくお願いします。

  • C言語の問題

    C言語初心者です。次の問題がわかりません。 1. 整数を入力として受け付けて,その数を5で割った結果を求めよ。 2. 1月から12月までのうち,31日まである月のことを大の月といい,それ以外の月のことを小の月とい う。1から12までの数を入力として受け付けて,それが大の月であれば”big”と,小の月であれ ば”small”と出力せよ。ただし,if文を使うこと。また,1から12以外の数が入力されることは考えなく ても良い。 3. 整数を入力として受け付けて,その数が偶数でかつ10以上であれば”ping”と出力し,その数が奇数かま たは-10未満であれば”pong”と出力し,それ以外であれば”error”と出力せよ。 これらがわかる方がいればどうか教えてくださいお願いします。

  • C言語 プログラミング

    C言語プログラミングで分からない問題があるのですが、 nを入力して、0~nまでの数値のうち、 (1)偶数のみ足しなさい (2)3の倍数のみ足しなさい の2つのプログラムがわからいのですがどなたか教しえていただけませんか?

  • C言語の宿題ができません。

    演習問題4】 4-1. キーボードから整数値を入力して、奇数か偶数かを表示させる。 (if文で記述する) 4-2. キーボードから2つの整数値を入力して2つの値の大、等、小の関係を表示する。 (if文で記述する) 4-3. 月を入力し、入力した月の日数を表示する。ただし2月は28日とする。 (if文で記述する) 4-4. 月を入力し、入力した月の日数を表示する。ただし2月は28日とする。 (switch文で記述する) 【応用問題4】 r4-1. 問題4-1のプログラムで、さらに値が4の倍数であった場合に4の倍数であること も表示する。 ※ヒント:0は4の倍数ではない r4-2. キーボードから3つの整数値を入力して3つの値の大、中、小の関係を表示 する。 (if文で記述する) r4-3. 月を入力し、入力した月の日数を表示するプログラムで、入力した月が1~12の 範囲を越えていた場合エラーメッセージを表示させる。

  • C言語の問題です。よろしくお願いいたします。

    C言語の問題です.。10個の整数を入力し配列に保存した後、入力された数字の中に5の倍数が含まれているかを調べ、 含まれていた時には「5の倍数が含まれています」含まれていない時に「5の倍数が含まれていません」と表示させるプログラムを作りなさい。 自分なりに考えて作ったのですが、以下の通りでよろしいのでしょうか? #include <stdio.h> main() { int i; double c[10]; for (i = 0; i < 10; i++) { printf("整数を10個入力してください.(%d つ目) : ", i+1); scanf("%lf", &c[i]); } if(c[i] % 5 == 0){ printf("5の倍数が含まれています\n"); } else{ printf("5の倍数が含まれていません\n"); } return 0; }

  • 素数、偶数、奇数、倍数を求める。

    整数n1と整数n2に適当な値を代入して、n1からn2までの整数を発生し、発生した個々の整数について調べたいのです。 結果は 10 は偶数で 5 の倍数です。 11 は素数です。 12 は偶数で 6 の倍数です。 13 は素数です。 14 は偶数で 7 の倍数です。 15 は奇数で 5 の倍数です。 16 は偶数で 8 の倍数です。 17 は素数です。 18 は偶数で 9 の倍数です。 19 は素数です。 20 は偶数で 10 の倍数です。 となりたいのです。 教えてくださいお願いします。

  • c言語について

    C言語のループのところで詰まってしまってわからないので2問ほど教えていただきたいです。 (1)nから1までの自然数を以下のように対角的に印字せよ。 Enter n:20 20 -19 --18 ---17 ・ ・ ・ ・ -----------------3 ------------------2 -------------------1 (2)入力した数に応じたピラミッドを作れ。 (i)奇数の場合 Enter:5 1 12 123 1234 12345 (ii)偶数の場合 Enter:8 1 22 333 4444 55555 666666 7777777 88888888 という問題なんですがわかるかたお願いします。

  • c言語の初心者です

    c言語の初心者です 2進数を入力して10進数を表示するプログラムを作りたいのですが まったくできません それなので2進数の入力のヒントだけでも教えてもらえないでしょうか?

  • C言語の授業で

    C言語の授業で -------------------- 3以上の整数を入力してください:10 素数は以下の数です: 7 5 3 2 素数は4個ありました -------------------- という感じの、入力した数以下の素数を表示するプログラムをwhile文を用いて作成するように言われたんですが・・・。 まず、while文と素数を表示するプログラムがよくわからないので、もう何をすればいいのか・・・。 どうか、ご教授お願いします。

専門家に質問してみよう