プロが教える店舗&オフィスのセキュリティ対策術

九九の表示を変えたいんですけど

#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
と表示させたいのですがどなたか知恵を貸していただきませんでしょうか?

A 回答 (3件)

こんにちには


何の工夫もないですが 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;
}
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/09/17 20:50

かけ算しなくて良い分、元のプログラムより難易度下がってるのに


いったいどこで躓いてるの?
かけ算するのやめれば良いだけじゃない。
    • good
    • 1
この回答へのお礼

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

お礼日時:2009/09/17 20:51

printf(" %2d ", x * y);



printf("%d*%d", x,y);
でしょうか
    • good
    • 1
この回答へのお礼

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

お礼日時:2009/09/17 20:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!