質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

1回答

2456閲覧

FizzBuzzの問題

kamiyareiko

総合スコア1

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2021/08/10 05:22

もし、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

--処理終了--
となってしまいます。解決策はございますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2021/08/10 05:29

名前と学籍番号が出ていますよ。
BeatStar

2021/08/10 05:33

今すぐ修正した方がいいですよ。 あえて出しているのなら構いませんが。(他人の名前でないなら) なんとなく面倒なことになりそうなので修正した方がいいかも?
BeatStar

2021/08/10 05:34

後、コードを提示するときは"<code>"または"<コード>"のボタンを押して出てくるヤツの中に書きましょう。 修正できますので修正してください。
WoodenHamlet

2021/08/10 05:37

とりあえず成形されていないコードを見るのが億劫なので、「3:fizz 5:buzz 1と入力したら、1という出力させるプログラム」を満たしたコードを出します。丸コピーしてもいいですよ。「printf("1");」
dodox86

2021/08/10 05:47

> もし、3:fizz 5:buzz 1と入力したら、1という出力させるプログラムを作りたいのですが、 この文の書き方だと "3:fizz 5:buzz 1" と入力したら "1" を出力させたい、とのように読める。当然そんなことは無いし、一般的なFizzBuzzの仕様と提示のコードを見ると出力結果には特に問題ないようにも思える。質問者さん自身がこの問題を理解していない、と言うことはありませんか?
kamiyareiko

2021/08/10 05:54

流れを言いますと、例えば、3:fizz 5:buzz 1と入力したならば、3:fizz 5:buzzに関しては、2種類の数字を出し、1というのは3の倍数fizzか5の倍数buzzいずれか満たしているかどうかを判断し、満たしていないため、出力は1になるということです。 3:fizz 5:buzz 3と入力したならば、3:fizz 5:buzzに関しては、2種類の数字を出し、1というのは3の倍数fizzか5の倍数buzzいずれか満たしているかどうかを判断し、満たしているため、出力はfizzになるということです。
dodox86

2021/08/10 06:13

初めてのご質問なのでおそらく勘違いされているのかと思いますが、teratailは課題をぶん投げると皆が回答をくれるサイトではないです。 [推奨していない質問] https://teratail.com/help/avoid-asking > 3:fizz 5:buzz 3と入力したならば、3:fizz 5:buzzに関しては、2種類の数字を出し、1というのは3の倍数fizzか5の倍数buzzいずれか満たしているかどうかを判断し、満たしているため、出力はfizzになる この文の「1というのは3の倍数fizzか5の倍数buzzいずれか満たしているかどうかを判断し、」の最初の"1というのは"は、"3というのは"の間違いでしょうかね。説明がとても分かりづらいです。とりあえず解決策も何も、そういうふうにコードを書き直すこと自体が課題なのでしょう。
dodox86

2021/08/10 06:21 編集

> 初めてのご質問なので いや、初めてではなかった。5回目のご質問でしたか。(スコアと質問の様子から初めてと思ってしまった)
episteme

2021/08/10 07:14 編集

> 3:fizz 5:buzz 3と入力したならば、3:fizz 5:buzzに関しては、2種類の数字を出し、1というのは3の倍数fizzか5の倍数buzzいずれか満たしているかどうかを判断し、満たしているため、出力はfizzになるということです。 15に対しては fizzbuzz? buzzfizz? ほかのなにか? 3:fizz 5:fizz ... とか 3:fizz 3:buzz ... だったらどうなる? 仕様があいまいだとコードに起こせんのだが。
m.ts10806

2021/08/10 09:42

名前と学籍番号が出ていますよ。 ただ、質問編集しても編集履歴から確認できるので削除依頼された方が良いでしょうね。 それに、課題としても自身でやらずに世界中から閲覧可能な質問サイトに投稿していいかどうかは一考いただきたく。
kazuma-s

2021/08/12 15:40

2:hoge 3:piyo 3 と入力したら、 piyo と出力されるようにしたいのですか? 2:hoge 3:piyo 4 と入力したら、 hoge と出力されるようにしたいのですか? 2:hoge 3:piyo 5 と入力したら、 5 と出力されるようにしたいのですか? 2:hoge 3:piyo 6 と入力したら、 hogepiyo と出力されるようにしたいのですか?
guest

回答1

0

C

1p,q,m,i;main(f){char s[8],t[8];for(scanf("%d:%s%d:%s%d",&p,s,&q,t,&m);i++<m;)f=i%p||!printf(s),i%q||(f=!printf(t)),printf(f?"%d ":"\n",i);}

FOR you.

投稿2021/08/11 10:53

編集2021/08/11 23:08
majiponi

総合スコア1722

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問