• ベストアンサー

C言語のプログラミング

九九計算の表を表示するプログラムを作成したいのですが、なかなかうまくいきません(;ω;`) ちなみに実行結果は   1  2 ……………………9 ----------------------------------------- 1: 1  2 … 2: 2  4 … 3: 3  6 … 4: 4  8 5: 5  10 6: 6  12  7: 7  14 8: 8  16 9: 9  18 とこんなかんじに できたらな…と。 よろしくお願いします<(_ _)>

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.6

for(x=1; x<10; x++){ の後に printf("%d:",x); を入れてみて下さい。 後、その分ガイドの先頭の文字を削ります

Berabow
質問者

お礼

ありがとうございました<(_ _)> おかげさまでなかなかスマートに 出来上がりました♪

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

その他の回答 (6)

  • nagare
  • ベストアンサー率33% (280/831)
回答No.7

No3です ここ連続スペース無視でしたね ごめんなさい ということで、皆様と同じで for(x=1; x<10; x++){ print文(1: ~ 9:を表示) for(y=1; y<10; y++){ となります ★この行があるのかないのか分からなかったのであえて書きませんでした。。。言い訳

Berabow
質問者

お礼

何度もお返事ありがとうございました。 言われると成る程って感じです。笑

すると、全ての回答が全文表示されます。
  • n_tan
  • ベストアンサー率50% (3/6)
回答No.5

No.3さんに追加して 問題3 xが縦、yが横の数値ですから、xをprintfしないと行先頭の1:、2:は出力されませんね。

すると、全ての回答が全文表示されます。
  • php504
  • ベストアンサー率42% (926/2160)
回答No.4

ここの掲示板は連続したスペースは無視されるようですね -の数から考えると質問者様もスペースはちゃんと開けてたのでしょう for(x=1; x<10; x++){ と for(y=1; y<10; y++){ の間に printf("%d:", x); を入れるだけですよね どこか変でしょうか

Berabow
質問者

お礼

申し訳ありません!!!! 一番早く回答していただいていたのに 私が気付かなかったばかりに 0 pointですみません(・ω・`) 全体をもう少ししっかり読んでから ポイントをつけるようにこれから 気をつけます(;´Д`) お返事ありがとうございました。

すると、全ての回答が全文表示されます。
  • nagare
  • ベストアンサー率33% (280/831)
回答No.3

>「1:、2: …」のところ以外はちゃんと表示できてるんですけどココを表示させようとするとなんか変になっちゃうもんで(;´Д`) 変になってしまうソースと結果がないと回答者も困りますよ(予測できますけど) 問題1:計算結果の表示間隔は %5d なのだから printf(" 1 2 3 4 5 6 7 8 9\n"); だと空白が足りない ★5文字間隔 問題2:行の先頭に2文字必要だから printf(" 1 2 3 4 5 6 7 8 9\n"); の先頭にも空白2文字が必要 こんなところでしょか?

Berabow
質問者

補足

…???あれ???全部スペース 入れたつもりだったんですけど 表示されてないですね(汗 お手数かけさせてスミマセン↓

すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

とりあえず、うまくいかないプログラムを補足して下さい

Berabow
質問者

補足

#include <stdio.h> int main( void ) { int m, x, y, z; printf(" 1 2 3 4 5 6 7 8 9\n"); printf("--------------------------------------------------\n"); for(x=1; x<10; x++){ for(y=1; y<10; y++){ z=x*y; printf("%5d",z); } printf("\n"); } return 0; } こんなん感じです(´・ω・`) 「1:、2: …」のところ以外は ちゃんと表示できてるんですけど ココを表示させようとすると なんか変になっちゃうもんで(;´Д`)

すると、全ての回答が全文表示されます。
  • Zozomu
  • ベストアンサー率22% (123/545)
回答No.1

何処で詰っているのかがわからないので、 プログラムを組む上でのアドバイスをします。 まず、いきなりコーディングをはじめるのではなく、 処理の流れをしっかり考えましょう (フローチャートを書く必要はありませんが  せめて、処理を順番に箇条書きにする  くらいはしましょう) たとえば 開始 ・1列目(タイトル行?1 2 ・・・・・)表示 ・区切り線表示 ・1の段の表示  ・段数(1の段なら1、2の段なら2)×1を計算し表示   以下   段数×9まで繰り返す  ・改行表示 ・2の段表示(1の段の処理の段数だけ変えて繰り返し)  以下  9の段まで繰り返す 終了 と言った感じになります。 これを、どの部分をモジュール化するかなどを決めて、 Cに翻訳するようなイメージでコーディングを行えば 出来るはずです。 最初の処理イメージをしっかり作ってまとめておかないと 後で(プログラムの修正・拡張等)苦労します。 仕事でプログラミングする様になると特に・・・・

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

関連するQ&A