- 締切済み
4桁の数値を逆に表示されるプログラム
プログラミングで分からないところがあるので、教えてください 4桁の数値を入力し、その数値が逆に表示されるプログラムを作成したいのですが、どういう風にプログラムをくめばいいか分かりません 変数宣言と代入式及びprintfを使ってです viです。 10で割って余りを出して順に表示させればいいと言われたのですが、そのプログラムが分かりません;; 説明不足ですみませんが、分かる方教えてください
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yama5140
- ベストアンサー率54% (136/250)
#2 です。 >whileがいいとの事ですが、まだやってないんですよ;; それならば、1)から4)までをダラダラと、「やった」ものだけで(十分ですので)書けばよい、と思います( while() は、「ダラダラ」を省くためだけだから)。 「『やった』もの」の想定。 ・No.1 さんへの「お礼」で使われたもの+「割り算」+代入(質問本文既出)。 ☆「やった」ものだけで、1)から4)までをプログラム組めない場合は、もう少し学んでから「数値が逆に表示されるプログラムを作成したい」としましょう。
- diszo
- ベストアンサー率78% (32/41)
基本的な文法はわかっていると思いますので プログラムを書くならこんな感じになると思います。 #####ここから########## 0.変数の宣言 余りが入る変数 商が入る変数 1.入力を受け付ける //scanf 2.余り=入力された値%10; 3.余りを表示 //printf 4.商 = 入力された値 / 10; 5.余り=商%10; 6.余りを表示 //printf 7.商 = 商 / 10; 8.余り=商%10; 9.余りを表示 //printf 10.商 = 商 / 10; 11.余り=商%10; 12.余りを表示 //printf 13.商 = 商 / 10; #####ここまで########## whileを使わないでってことなので、 こんな書き方でしょうか
お礼
回答ありがとうございます! このやり方でなんとかできました!! 本当にありがとうございました!
- yama5140
- ベストアンサー率54% (136/250)
>10で割って余りを出して順に表示させればいいと言われた・・ 例えば、4321だったら、 1)4321%10で1、これを表示して、10で割る。 2)432%10で2、これを表示して、10で割る。 3)43%10で3、これを表示して、10で割る。 4)4%10で4、これを表示して終わり。 結果、1234と「逆に」表示できます。 プログラムですと、 while( a ){ がよろしいかと・・。 while() 構文の中には、上の1)の動作の3つ(%10、表示、10で割る)をいれるだけ。
お礼
回答ありがとうございます。 逆にする原理といいますか、10で割るという事は理解できたのですが、そのプログラムをどう書けばいいのか分かりません;; whileがいいとの事ですが、まだやってないんですよ;; int、printf、scanfで求めたいのですが...
- sazitarius
- ベストアンサー率59% (57/96)
MS-C時代なのでもう頭サビてるし・・・ 具体的なサイプルとか無理ですけど。f^^;) 数字を文字列に変換して、レングスで文字数を出して、 配列変数にアドレスコピーして forでレングスマイナス1から減算ループして配列を 大きい方から表示したら良いんではないでしょうか?
お礼
すみません、初心者なものでよく分からないのですが;; #include<stdio.h> main() { int a; scanf("%d",&a); printf("%d",a%10); } こういう感じので作りたいんですけど;; これだと、例えば12って入れると2は出てくるんですけど、1は出ませんよね。 1も出すようにするには、今度1÷10の式をどこにどう入れればいいのでしょう?
お礼
回答ありがとうございます なんとかプログラムできました!