ぶろぐ

日記です

fizzbuzz書けるか試した


真面目に職場で書きそうなC言語コードで書いてみた。
fizzbuzzが書けるぐらいには教育されていまする。

[root@cent6]# vim fizzbuzz.c

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {

    /* 最低限引数チェックはしておくのさ */
    if(argc != 2) {
        printf("usage: fizzbuzz [数字]\n");
        return EXIT_FAILURE;
    }   

    /* 数字変換 */
    int num = atoi(argv[1]);

    /* 構造化を意識しとく?return文一つじゃないけど…orz */
    if(num == 0) {
        printf("usage: 0以上の数字を入力してください\n");
        return EXIT_FAILURE;
        
    } else {
        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");
        }
    } 

    return EXIT_SUCCESS;
}

動き

[root@cent6 c]# gcc -o fizzbuzz fizzbuzz.c 
[root@cent6 c]# ./fizzbuzz 15
fizzbuzz!!
[root@cent6 c]# ./fizzbuzz 6
fizz
[root@cent6 c]# ./fizzbuzz 10
buzz
[root@cent6 c]# ./fizzbuzz 11
[root@cent6 c]# ./fizzbuzz
usage: fizzbuzz [数字]
[root@cent6 c]# ./fizzbuzz 1 1
usage: fizzbuzz [数字]
[root@cent6 c]# ./fizzbuzz 0
usage: 0以上の数字を入力してください
[root@cent6 c]# ./fizzbuzz a
usage: 0以上の数字を入力してください

気づいたけど仕様勘違いしてる