0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

C言語でズンドコ

Posted at

しようと思ったら先駆者の方々がたくさんいらっしゃり、私の稚拙なコードが恥ずかしくなってきました。

きっかけはこの方のツイートです。

コード

特に深く考えず、突貫で作ったらこんなようになりました。

kiyoshi.c
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int main (int argc, const char * argv[]){
    int rnd;
    int kiyoshi[5] = {0};
    srand(time(NULL));

    do {
        rnd = rand() % 2 + 1;
        switch (rnd){
            case 1:
                printf("ズン ");
                break;
            case 2:
                printf("ドコ ");
                break;
            default:
                break;
        }

        for(int i = 1; i < 5; i++) {
            kiyoshi[i - 1] = kiyoshi[i];
        }
        kiyoshi[4] = rnd;

        if(kiyoshi[0] == 1 && kiyoshi[1] == 1 && kiyoshi[2] == 1 && kiyoshi[3] == 1 && kiyoshi[4] == 2){
            printf("キ・ヨ・シ!\n");
            break;
        }

    }while(1);
    
    return 0;
}

今回はBreakする条件分岐がある無限ループを使用しました。
時刻から乱数(1か2)を計算により取得、その値を元に「ズン 」「ドコ 」のいずれかの出力を繰り返しています。
乱数の履歴は判定に必要な5つ分まで配列に格納し、配列の値の並びが特定の状態になったときのみ「キ・ヨ・シ!」を出力したのち、無限ループから抜けてプログラムが終了します。

実行例

ズン ドコ ズン ドコ ズン ドコ ドコ ズン ズン ドコ ズン ズン ドコ ドコ ズン ドコ ドコ ズン ズン ドコ ズン ズン ドコ ドコ ドコ ズン ズン ズン ドコ ドコ ズン ズン ズン ズン ズン ドコ キ・ヨ・シ!
ドコ ズン ズン ズン ドコ ドコ ドコ ズン ドコ ズン ズン ズン ズン ズン ドコ キ・ヨ・シ!
ドコ ズン ドコ ドコ ズン ドコ ズン ドコ ドコ ドコ ドコ ズン ズン ドコ ドコ ドコ ドコ ドコ ドコ ズン ズン ドコ ズン ズン ズン ドコ ズン ドコ ズン ズン ドコ ズン ズン ドコ ドコ ドコ ドコ ズン ズン ドコ ズン ズン ドコ ドコ ドコ ドコ ズン ドコ ズン ズン ドコ ズン ドコ ズン ドコ ズン ドコ ドコ ドコ ドコ ズン ドコ ズン ズン ズン ドコ ドコ ズン ドコ ドコ ズン ズン ズン ドコ ドコ ズン ズン ドコ ズン ドコ ドコ ドコ ズン ズン ドコ ドコ ズン ドコ ドコ ドコ ドコ ズン ドコ ズン ドコ ズン ズン ズン ドコ ドコ ズン ズン ドコ ズン ドコ ズン ズン ズン ズン ズン ズン ドコ キ・ヨ・シ!

果たしてこの出力でいいのかわかりませんが、一応「ズン ズン ズン ズン ドコ キ・ヨ・シ!」となっているので良しとしましょう。

備考

実行環境...MacOS Monterey 12.4、Macbook Air(Apple M1、16GB)
コンパイラ...(おそらく)Clang
開発環境...Visual Studio Code 1.66.1

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?