2013年10月27日日曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の9章(変数スコープおよび関数)、9.4(構造かプログラミング)、9.5(再帰)、9.7(プログラミング実習)、実習 9-3を解いてみる。

その他参考書籍

実習 9-3.

コード

sample.c

#include <stdio.h>
int main()
{
    int numbers1[] = {},
        numbers2[] = {1},
        numbers3[] = {1, 2, 1, 3, 4, 5},
        numbers4[] = {1, 2, 3, 4, 5, 2},
        numbers5[] = {1, 2, 3, 4, 5, 6},
        count(int number, int array[], int length);
    
    printf("0: %d\n", count(0, numbers1, 0));
    printf("0: %d\n", count(0, numbers2, 1));
    printf("1: %d\n", count(1, numbers2, 1));
    printf("0: %d\n", count(100, numbers3, 6));
    printf("2: %d\n", count(1, numbers3, 6));
    printf("2: %d\n", count(2, numbers4, 6));
    printf("0: %d\n", count(10, numbers5, 6));
    return (0);
}

int count(int number, int array[], int length)
{
    int counter = 0;
    if (length == 0){
        return counter;
    }
    if (array[length - 1] == number){
        counter += 1;
    }
    return counter +  count(number, array, length - 1);
}

makefile

CC=cc
CFLAGS=-g

sample: sample.c
 $(CC) $(CFLAGS) -o sample sample.c

clean:
 rm -f sample

入出力結果(Terminal)

$ ./sample
0: 0
0: 0
1: 1
0: 0
2: 2
2: 2
0: 0
$

0 コメント:

コメントを投稿