もし、3:fizz 5:buzz 1と入力したら、1という出力させるプログラムを作りたいのですが、下記のプログラムでは、
//
/ プログラミング演習レポート#00 /
/ 【 FizzBuzz問題 】 /
/ 学籍番号:88278 /
/ 作成者:松本正輝 /
/ 作成日:2021/08/10 /
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
//問題の要求する1行のサイズが大きい場合はこの値を変更してください。
// If the problem requires more large line size, please modify following.
#define LINE_BUF_SIZE 1024
int main( void ) {
// このコードは標準入力と標準出力を用いたサンプルコードです。
// このコードは好きなように編集・削除しても構いません。
// ---
// This is a sample code to use stdin and stdout.
setbuf(stdout,0);//msPEwbXEの制限:main関数の最初の実行文の前に置く int num; printf( "数字を入力:", num ); scanf( "%d", &num ); if( num % 3 == 0 && num % 5 == 0 ) { printf( "FizzBuzz\n" ); } else if( num % 3 == 0 ) { printf( "Fizz\n" ); } else if( num % 5 == 0 ) { printf( "Buzz\n" ); } else { printf( "%d", num ); }
}
となり、
実行結果は、
===== コンパイラとリンカの実行:repo14.c→repo14.o→repo14.exe =====
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:15
FizzBuzz
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:3
Fizz
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:5
Buzz
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:9
Fizz
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:2
2
--処理終了--
===== 《repo14.exe》の実行 =====
数字を入力:10
Buzz
--処理終了--
となってしまいます。解決策はございますでしょうか。