ページ 11

C言語(文字の追加?)

Posted: 2008年12月10日(水) 04:23
by ぴーやま
初めまして。
初心者でC言語を勉強中なのですが、
課題に躓いてしまったのでこの場を借りて質問させて頂きます!

まずfor文を使って九九表を作りました。
それから3の倍数の数値の後ろに「@」を付けろ、というのですが
前には付くのですが後ろに付ける方法がわかりません…。

その方法を教えていただけないでしょうか?よろしくお願いします。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 04:31
by GPGA
前にはどのように付けましたか?

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 08:26
by たかぎ
> 3の倍数の数値の後ろに「@」を付けろ、というのですが

文字列の後ろではなく、数値の後ろですか?
どうしたいのかよくわからないので詳細を補足してください。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 09:14
by めーる
数値の後ろと書いてるのでprintfで3の倍数のときに%d →%d@
とすればいいのでは?単純過ぎかな・・
でも前には付けれて後ろには無理なのがよくわかりませんね。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 09:17
by conio
----------------------------------------------
   1    2    3@   4    5    6@   7    8    9@
   2    4    6@   8   10   12@  14   16   18@
   3@   6@   9@  12@  15@  18@  21@  24@  27@
   4    8   12@  16   20   24@  28   32   36@
   5   10   15@  20   25   30@  35   40   45@
   6@  12@  18@  24@  30@  36@  42@  48@  54@
   7   14   21@  28   35   42@  49   56   63@
   8   16   24@  32   40   48@  56   64   72@
   9@  18@  27@  36@  45@  54@  63@  72@  81@
----------------------------------------------

このような出力になれば良いということですか?
二重ループの中にif文で3の倍数か3の倍数でないかで、
表示方法の場合分けをすれば良いのでは無いでしょうか。

自分で作ったプログラムや、出力例を見せていただかないと、何とも言えませんが。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 09:40
by Dixq (管理人)
そこまで出来ているなら「3の倍数」の判定方法がわかれば解けそうですね。
3の倍数、3,6,9,12,15,18...これに共通するものって何でしょう?

ヒント:
○で割ったあまりが□の値

割ったあまりを計算するための演算子は「%」で用意されています。
この辺参考になるでしょうか。
http://www9.plala.or.jp/sgwr-t/c/sec03.html

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 14:43
by ぴーやま
皆さん、返答ありがとうございます。

---------------------------------------------
  1  2  3@  4  5#  6@  7  8  9@
  2  4  6@  8  10# 12@ 14  16  18@
  3@  6@  9@ 12@ 15@ 18@ 21@ 24@ 27@
  4  8  12@ 16  20# 24@ 28  32  36@
  5# 10# 15@ 20# 25# 30@ 35# 40# 45@
  6@ 12@ 18@ 24@ 30@ 36@ 42@ 48@ 54@
  7  14  21@ 28  35# 42@ 49  56  63@
  8  16  24@ 32  40# 48@ 56  64  72@
  9@ 18@ 27@ 36@ 45@ 54@ 63@ 72@ 81@
----------------------------------------------

課題自体の出力例はこのようになり、
3の倍数の数値の後ろに「@」
5の倍数の数値の後ろに「#」
(3と5の倍数は3を優先する)
それ以外の数値にはスペースを付ける との事です。

皆さんのヒントを得て色々と調べて試してみても、
使い方をいまいち把握していないものでエラーの連続です…。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 14:53
by Dixq (管理人)
そのプログラムコードをこちらに載せれば指摘が受けられると思います。
コードを投稿する場合はタグを使って下さい。
上のように1文字スペースを均一に表現したいときもタグを使うと良いですよ。

Re:C言語(文字の追加?)

Posted: 2008年12月10日(水) 21:44
by conio
課題の条件が増えてますね。
ですが、if文を使えば表示させることは可能です。
-------------------------------------
if(●●●)
/*3の倍数の時の表示*/
else if(○○○)
/*5の倍数の時の表示*/
else
/*それ以外*/
-------------------------------------
穴あきの部分と、日本語の部分はプログラムに変えて下さい。
そして、最初の九九の表を表示するプログラムと、上手く合わせれば完成です。

あと、printf文で
・最低○桁で表示する

この条件を付けて表示させる方法を知っておく必要があると思います。