技術士の技事録

新米技術士が、IT技術動向・高度資格試験対策等、現役SE向け情報を発信します。

技術士第一次試験専門科目 平成28年度 Ⅲ-2

 C言語で,1から20までの数字を表示し,3で割り切れるときは Fizz,5で割り切れるときは Buzz,両方で割り切れるときは FizzBuzz と表示するプログラムを実装したい。
 次の空欄   に,ア,イ,ウそれぞれを入れたときのプログラムの動作に関する記述のうち,最も適切なものはどれか。

#include <stdio.h>
int main() {
 int i;
    
}

  1. for (i = 1; i <= 20; i++)
    printf("%d %s%s¥n", i, i % 3 ? "" : "Fizz", i % 5  ?"" : "Buzz");
  2. char *fb[15] = {"FizzBuzz", "", "", "Fizz", "", "Buzz", "Fizz", "", "", "Fizz", "Buzz", "Fizz", "", "";
    for (i = 1; i <= 20; i++) printf("%d %s¥n", i, fb[i % 15]);
  3. for (i = 1; i <= 20; i++) {
    printf("%d ", i);
    if (i % 3 == 0 && i % 5 == 0) printf("Fizz Buzz ¥n");
    else if (i % 3 == 0) printf("Fizz¥n");
    else if (i % 5 == 0) printf("BuzzYn");
    else printf("¥n");

① アとイとウ,いずれを入れても正しく動作する。

② ア又はイを入れたときのみ正しく動作する。

③ ア又はウを入れたときのみ正しく動作する。

④ イ又はウを入れたときのみ正しく動作する。

⑤ ウを入れたときのみ正しく動作する。

 

 

答え

      ①

解説

  1. 正しく動作します。
  2. 正しく動作します。
  3. 正しく動作します。