質問: 標準入力で2進列の末尾に改行がついたものが与えられる。連続する1の並びの両端をすべて0で置き換えて表示する。
回答: #include int main(void) { int c, f = 0; while(1){ c = getchar(); if(c != '1'){ if(f == 2) putchar('0'); putchar(c); if(c == '\n') break; f = 0; } else{ if(f == 0){ putchar('0'); f = 1; } else if(f == 1) f = 2; else putchar('1'); } } return 0; }