2013年4月18日木曜日

開発環境

プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第3章(制御の流れ)、3.5(whileとfor)の演習 3-3を解いてみる。

その他参考書籍

演習 3-3.

コード

sample.c

#include <stdio.h>

void expand(char s1[], char s2[]);

int main()
{
    char s1[1000], s2[1000], s3[1000], s4[1000];
    expand("a-b-c", s1);
    expand("a-z", s2);
    expand("0-9", s3);
    expand("-a-z", s4);
    expand("-a-b-Pythonz-za--bLispA-EScheme0-9-a-e-", s4);
    printf("%s\n%s\n%s\n%s\n", s1, s2, s3, s4);
    return 0;
}

void expand(char s1[], char s2[])
{
    char c;
    int i, j;
    
    i = j = 0;
    while ((c = s1[i++]) != '\0')
        if (s1[i] == '-' && s1[i+1] >= c)
            for (i++; c < s1[i]; c++)
                s2[j++] = c;
        else
            s2[j++] = c;
    
    s2[j] = '\0';
}

入出力結果(Terminal)

$ ./a.out
abc
abcdefghijklmnopqrstuvwxyz
0123456789
-ab-Pythonza-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abLispABCDEScheme0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde-
$

0 コメント:

コメントを投稿