• ベストアンサー

Cの九九を表示するプログラムについて

九九の表示を変えたいんですけど #include <stdio.h> int main(void) { int x,y; for (x = 1;x <= 9;x++) { for (y = 1;y <= 9;y++) { printf(" %2d ", x * y); } printf("\n"); } return 0; } これを実行すると 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 . . 9 . . . . . . . 81 となるのですが、これを 1 * 1 1 * 2 1 * 3 . . . 1 * 9 1 * 2 . . 1 * 9 . . . . . 9 * 9 と表示させたいのですがどなたか知恵を貸していただきませんでしょうか?

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

  • ベストアンサー
  • yomyom01
  • ベストアンサー率12% (197/1596)
回答No.3

printf(" %2d ", x * y); を printf("%d*%d", x,y); でしょうか

kazu3kikun
質問者

お礼

ありがとうございます求めていた答えでした。 また機会があればおねがいします。

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

その他の回答 (2)

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

かけ算しなくて良い分、元のプログラムより難易度下がってるのに いったいどこで躓いてるの? かけ算するのやめれば良いだけじゃない。

kazu3kikun
質問者

お礼

そのやり方でもチャレンジしてみます。 ありがとうございました。」

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

こんにちには 何の工夫もないですが printf をうまく挟めばよいのでは? #include <stdio.h> int main(void) {  int x,y;  for (x = 1;x <= 9;x++) {   /*** xの段でしょ。 ***/   for (y = 1;y <= 9;y++) {    /*** xの段のyでしょ。ここで印刷できるよね ***/    /*** その後に答えがくるわけだから ***/    printf(" %2d ", x * y);   }   printf("\n");  } return 0; }

kazu3kikun
質問者

お礼

ありとうございます。何とか完成できました。

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

専門家に質問してみよう