• ベストアンサー

C言語課題です。なんとか教えてください。

キーボードから4桁の数字を読み込み、3で割った余りが0ならばそのまま表示。 1ならば数字と並びを逆に表示。 2ならばその数字と逆に並べた数字の差の絶対値を表示。 その際に差が0ならば入力した数字をそのまま表示するプログラム。

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

  • ベストアンサー
  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.2

キーボードから4桁の数字を読み込みA,B,C,Dとする。 E=1000*A+100*B+10*C+D F=1000*D+100*C+10*B+A   G=E mod 3 (またはG=E-int(E/3)*3, int(P)はPの少数点以下を切り捨て)                  if G=0 then print E if G=1 then print F if G=2 and abs(E-F)=0 then print E if G=2 and abs(E-F)<>0 then print abs(E-F) Cは知りません。FPRTRANかBASICかの感じで書きました。意味は分かるでしょう。 Cに変換してください。

goukaku63
質問者

お礼

ありがとうございます。やってみます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

何がわからんの?

goukaku63
質問者

補足

何文を使ってどのような道筋で行えばよいかです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語課題!C言語初心者です。お願いします。

    キーボードから4桁の数字を読み込み、3で割った余りが0ならばそのまま表示。 1ならば数字と並びを逆に表示。 2ならばその数字と逆に並べた数字の差の絶対値を表示。 その際に差が0ならば入力した数字をそのまま表示するプログラム。 どの文を使ってどの道筋でかけばよろしいでしょうか? ほんとに困っています。よろしくお願いします。

  • C言語!教えてください!

    /* キーボードから4桁の数字を読み込み、3で割った余りが0ならばそのまま  表示する。1ならば数字と並びを逆に表示する。  2ならばその数字と逆に並べた数字の差の絶対値を表示。その際に差が0  であるなら入力した数字をそのまま表示するプログラム。 */ #include <stdio.h> int main(void) { int no; printf("4桁の数字を入力してください:"); scanf("%d",&no); if(no % 3 ==0) printf("%d \n" , no); else if(no % 3 ==1) do{ printf("%d",no%10); no = no / 10; }while (no > 0 ); else ここから絶対値を考えようとしたのですが 逆にした値が文字で置かれていないのでやりようがありません。 逆にした値は文字で置けるものなんですか? それともこの文ではできませんか? よろしくお願いします。

  • C++言語の課題です

    C++言語の課題です 4つの数字をキーボードから入力させ、入力が終わったら、その最大値を表示するプログラムを作成しなさい という問題が出ました。 4つの数字を入力して 読み込むまではわかりましたが 条件分岐のところから わからなくなりました。 使ってる文法は printf scanf if elseif などです どなたか教えて下さい

  • C言語のプログラミングについてです><

    今C言語のプログラミングの勉強をしているのですが、わからないプログラムがでてきたので教えてくださる方がいらっしゃれば、ご教授願いたいです。 数当てゲームの作成 1~9(0は除く)のなかから4つの異なる数字をランダムで選択し、4桁の数をつくる。ユーザは4つの数字の並びを入力して、作られた数を当てる。 ユーザの入力した数と作られた数を比較して、同じ数字が同じ桁にある場合は"Hit"というヒントを与える。また、同じ数字が異なる桁にある場合は"Blow"というヒントを与える。すなわち、作られた数が5849で、ユーザが4829という数値を入力した場合、"2 Hit 1 Blow"というヒントが表示されるようにする。 ユーザは10回まで、入力するチャンスが与えられる。 といった感じのプログラミングなんですが、C言語初心者である自分にはまったくわかりません; ; どなたかわかる方がいらっしゃれば、助けていただけないでしょうか?よろしくお願いします!

  • C言語プログラムの課題

    大学で以下のような課題が出ました。でも全然わかりません。わかる方がいらっしゃったら、是非教えてほしいです★ 1整数値123を変数iに代入して、iの値を表示するプログラムを作成せよ。 2実数値3.14159を変数xに代入して、xの値を表示するプログラムを作成せよ。 3文字型せーた'A'を変数chに代入して、chの値を表示するプログラムを作成せよ。ただし、chの値を表示する際には、%d,%x,%cの書式を用いること。 4キーボードから入力された2つの整数値i,jの値を画面に表示するプログラムを作成せよ。 5キーボードから2つの整数値を、変数in1とin2に入力して、以下の計算をした結果を画面に表示するプログラムを作成せよ。 in1+in2= in1-in2= in1*in2= in1/in2= in1%in2=

  • C言語のプログラムについて

    大学のテストの確認をしているのですが、この問題の回答がどうしても分かりません。どなたか教えてください。 9桁以内の整数を入力し、int型の変数に格納し表示するプログラムを作成しなさい。 ただし、先頭は、数字か「+」か「-」とし、それ以外はすべて数字とする。この条件に合わないものおよび10桁以上のものは、「入力エラー」として表示後、再入力を行うこと。 例えば「-123456」や「45678989」は、整数としてint型の変数に格納し、「abcd」や「123-234」は、「入力エラー 」を表示し、再入力を行う。 ---------------------------------------------------------------- また、自動判定の都合上、表示は以下の表示例に準拠すること。 【 23-234 *12345 -123456 を入力した例】 入力エラー 入力エラー 整数は、-123456 です。 お願いします

  • C言語の問題

    配列の問題 1.キーボードから入力したアルファベットの大文字(A~Z)の入力回数をそれぞれ数え、結果を画面出力するプログラムを作成せよ。但し、入力の終了はEOFとし、入力回数のカウントには、配列を用いるものとする。(文字ごとに回数を格納する配列を用意する) 2.キーボードから番号(数字)を入力し、その番号に該当する文字列中の文字を画面表示するプログラムを作成せよ。なお、数字以外の文字が入力した場合と、文字列の範囲外の数字が入力された場合は、任意のメッセージを出力し、再入力するようにする。また文字列はキーボードから入力するものとする。 この問題が解けなくて困ってます。どうか知恵をかしてください。

  • 棒グラフ C言語

    C言語)実行結果のような非負の整数を読み込んで棒グラフを表示させるプログラム[読み込んだ整数が-1である場合は整数の入力を表示して棒グラフの表示を行う。グラフは★一つで10、☆一つで1を表すこととする。配列を使う。数字を表示する際は3桁分のスペースを使う]はどう作成すればいいのでしょうか? 実行結果 非負の整数を入力してください。(-1が入力されれば即終了) 1:100 2:55 3:77 4:13 5:4 6:-1 1:100 ★★★★★★★★★★ 2: 55 ★★★★★☆☆☆☆☆ 3: 77 ★★★★★★★☆☆☆☆☆☆☆ 4: 13 ★☆☆☆ 5: 4 ☆☆☆☆

  • c言語プログラミングHELP!

    c言語でプログラムを組んでるんですが、どうしてもわからないものがありまして、 まず一つ目がキーボードから英小文字を一つ入力し、その文字を大文字に変換して出力するプログラミングです。結果がまずひとつの英小文字を入力して、入力した文字と、大文字に変換した文字を出力するプログラミングです。 ちなみにヒントは'a'=97,'A'=65です 二つ目が二桁の16進数('41'から'49','50'から'59')を入力すると対応する文字を表示するプログラミングです。また、%xは使用しないこと。なお、入力に間違いはないものとする。(ヒントは入力は一つの数値か、二つの文字か?だそうです。) 結果は二桁の16進数('41'から'49','50'から'59')を入力して、文字コードの二桁の数字と文字を出力するプログラミングです。 お願いします。

  • C言語に詳しい方、お願いします!

    二重for文の特長を活かし、次のような表示を行うプログラムを書きなさい。 ※四角形からダイヤ型をくり貫いたような表示。 ただし、キーボード入力で数字を出力し、その数字の数が、横配列の■の最大値となるようにすること(この例の場合、出力した数字は7)。 つまりは、出力した数字に応じて、■とダイヤの大きさが変化する。

このQ&Aのポイント
  • AC-088の紙詰まりに関するトラブルの解決方法を教えてください。用紙が詰まる問題が続いており、すべての手順を試しましたが解消されません。
  • Mac 10.13でAC-088を使用しており、無線LAN接続を行っています。Wi-Fiルーターの機種名はArcher AX6000です。
  • 関連するソフト・アプリはありません。電話回線は法人向けひかり電話(光IP電話)です。
回答を見る