プロが教えるわが家の防犯対策術!

1〜50まで順に数字を入力し、3の倍数と3がつく数字の場合は数字のかわりに⭐︎と出力するアルゴリズムはどのような手順になるでしょうか?

A 回答 (3件)

「そういう内容の配列」を作っておいて, 順次出力する.

    • good
    • 0

数値で、%3 で 0 になったとき、⭐︎を出力して次の数値へ


次に sprintf などで文字列にして、
strchr なので '3' を検出して NULL じゃなかったら ⭐︎を出力して次の数値へ
NULL だったら、そのまま文字列を出力。

くらいでいいのでは?
    • good
    • 0

#include <stdio.h>


#include <stdlib.h>
#include <math.h>

int main(void) {
 int i = 1;
 while (i < 51) {
  if ((i % 3 == 0) || (i % 10 == 3) || (int)floor(i/10) == 3) {
   printf(" * ");
  } else {
   printf("%2d ", i);
  }
  if (i % 10 == 0) {
   printf("\n");
  }
  i++;
 }
 return EXIT_SUCCESS;
}
    • good
    • 0

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