かにへいへーい

かにへーの日記です

【C:コード】5個の正の整数を入力すると、3の倍数でアホと評価される

なぜ書いたか

C言語入門書を1冊読むと、どの程度のコードが書けるかを伝えたくて頑張りました!

実力が無いくせに、PCをただの計算機ではなく、人のように振る舞わせたい…
その想いで文字列を返してみました。

最初は日本語で「アホ!」「素敵!」「かっこいい!」などと言わせたかったんです

ただ、

読んだ入門書には文字列のことは一切書かれてなく、調べたら結構複雑だったので挫折

他のプログラミング言語のことは知りませんが、文字列のバイト量まで考えなきゃいけないなんて…
結局妥協してローマ字の「aho」になってます。
他にも妥協点あるのでahoほど暇な方は探してみてください。

//5個の正の整数を入力すると、3の倍数でアホと評価されるコード
#include <stdio.h>
#define N 5

int main(void){
    int x[N], i, j = 0;
    char y[20];
    
    for(i=0; i<N; i++){
        scanf("%d", &x[i]);
    }
    
    for(i=0; i<N; i++){
        j = i*5;
        if(x[i]%3==0){
            y[j]='a';
            y[j+1]='h';
            y[j+2]='o';
            y[j+3]='!';
            y[j+4]=' ';
        }else{
            y[j]='n';
            y[j+1]='i';
            y[j+2]='c';
            y[j+3]='e';
            y[j+4]=' ';
        }
    }
    printf("入力:");
    for(i=0; i<N; i++){
        printf("%d ",x[i]);
    }
    printf("\n評価:");
    for(i=0; i<=20; i=i+5){
        printf("%c%c%c%c%c",y[i],y[i+1],y[i+2],y[i+3],y[i+4]);
    }
    printf("\n");
    return 0;
}

f:id:kanihee:20190505001639p:plain
目の前がahoでいっぱいになったこともありました