開発環境
- OS X Lion - Apple(OS)
- Emacs、BBEdit - Bare Bones Software, Inc. (Text Editor)
- プログラミング言語: C
- Clang (コンパイラ)
プログラミング言語C 第2版 ANSI規格準拠 (B.W. カーニハン D.M. リッチー (著)、 石田 晴久 (翻訳)、共立出版)の第1章(やさしい入門)、1.9(文字配列)の演習1-19を解いてみる。
その他参考書籍
- プログラミング言語Cアンサー・ブック 第2版 (クロビス・L.トンド、スコット・E.ギンペル(著)、矢吹 道郎(翻訳))
演習 1-19.
コード
sample.c
#include <stdio.h> #define MAXLINE 1000 int my_getline(char line[], int maxline); int remove_last_blank_and_tab(char line[]); void reverse(char s[]); int main() { char line[MAXLINE]; while (my_getline(line, MAXLINE) > 0) { reverse(line); printf("%s", line); } return 0; } int my_getline(char s[], int lim) { int c, i; for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) { s[i] = c; } if (c == '\n') { s[i] = c; ++i; } s[i] = '\0'; return i; } void reverse(char s[]) { int i, j; char c; i = 0; while (s[i] != '\0') { i++; } i--; if (s[i] == '\n') { i--; } j = 0; while (j < i) { c = s[j]; s[j] = s[i]; s[i] = c; j++; i--; } }
入出力結果(Terminal)
$ ./a.out < sample.c >h.oidts< edulcni# 0001 ENILXAM enifed# ;)enilxam tni ,][enil rahc(enilteg_ym tni ;)][enil rahc(bat_dna_knalb_tsal_evomer tni ;)][s rahc(esrever diov )(niam tni { ;]ENILXAM[enil rahc { )0 > )ENILXAM ,enil(enilteg_ym( elihw ;)enil(esrever ;)enil ,"s%"(ftnirp } ;0 nruter } )mil tni ,][s rahc(enilteg_ym tni { ;i ,c tni { )i++ ;'n\' =! c && FOE =! ))(rahcteg = c( && 1 - mil < i ;0 = i( rof ;c = ]i[s } { )'n\' == c( fi ;c = ]i[s ;i++ } ;'0\' = ]i[s ;i nruter } )][s rahc(esrever diov { ;j ,i tni ;c rahc ;0 = i { )'0\' =! ]i[s( elihw ;++i } ;--i { )'n\' == ]i[s( fi ;--i } ;0 = j { )i < j( elihw ;]j[s = c ;]i[s = ]j[s ;c = ]i[s ;++j ;--i } } $ ./a.out < sample.txt eripsnoc etaF htiw I dna uoy dluoc !evoL hA ,eritne sgnihT fo emehcS yrros siht psarg oT neht dna -- stib ot ti rettahs ew ton dluoW !eriseD s'traeH eht ot reraen ti dluom-eR eripsnoc etaf htiw i dna uoy dluoc !evol ha ,eritne sgniht fo emehcs yrros siht psarg ot neht dna -- stib ot ti rettahs ew ton dluow !erised s'traeh eht ot reraen ti dluom-er eripsnoc etaF htiw I dna uoy dluoc !evoL hA%$#@! ,eritne sgnihT fo emehcS yrros siht psarg oT%$#@! neht dna -- stib ot ti rettahs ew ton dluoW%$#@! !eriseD s'traeH eht ot reraen ti dluom-eR%$#@! eripsnoc etaf htiw i dna uoy dluoc !evol ha%$#@! ,eritne sgniht fo emehcs yrros siht psarg ot%$#@! neht dna -- stib ot ti rettahs ew ton dluow%$#@! !erised s'traeh eht ot reraen ti dluom-er%$#@! $ cat sample.txt Ah Love! could you and I with Fate conspire To grasp this sorry Scheme of Things entire, Would not we shatter it to bits -- and then Re-mould it nearer to the Heart's Desire! ah love! could you and i with fate conspire to grasp this sorry scheme of things entire, would not we shatter it to bits -- and then re-mould it nearer to the heart's desire! !@#$%Ah Love! could you and I with Fate conspire !@#$%To grasp this sorry Scheme of Things entire, !@#$%Would not we shatter it to bits -- and then !@#$%Re-mould it nearer to the Heart's Desire! !@#$%ah love! could you and i with fate conspire !@#$%to grasp this sorry scheme of things entire, !@#$%would not we shatter it to bits -- and then !@#$%re-mould it nearer to the heart's desire! $
0 コメント:
コメントを投稿