2013年10月29日火曜日

開発環境

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

その他参考書籍

実習 9-5.

コード

sample.c

#include <stdio.h>
#include <string.h>

int main()
{
    int i = 0,
        n,
        array[1000];
    char line[1000];
    int max(int array[], int length);
    printf("数値を入力\n");
    do {
        fgets(line, sizeof(line), stdin);
        line[strlen(line) - 1] = '\0';
        if (line[0] == '\0'){
            break;
        }
        sscanf(line, "%d", &n);
        array[i] = n;
        i += 1;
    } while (1);
    printf("最大値: %d\n", max(array, i));
    return (0);
}

int max(int array[], int length)
{
    int n = array[0],
        i;
    for (i = 1; i < length; i++){
        if (array[i] > n){
            n = array[i];
        }
    }
    return n;
}

makefile

CC=cc
CFLAGS=-g

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

clean:
 rm -f sample

入出力結果(Terminal)

$ make
cc -g -o sample sample.c
$ ./sample
数値を入力
1
0
2
9
3
8
4
7
5
6

最大値: 9
$ ./sample
数値を入力
1
2
3
4
5
100
6
7
8
9
10 

最大値: 100
$ ./sample
数値を入力
100
100
100
100
100

最大値: 100
$

0 コメント:

コメントを投稿