>220たん>221とは言ったものの一応自分流に書き直して書いときます。

#include <stdio.h>

int main(void){
 int a;
 char buf[256];
 while( fgets(buf, sizeof(buf), stdin) != EOF && sscanf(buf, "%d", &a) != EOF ){
  if (a == 0)
   return 0;
 }
 return 0;
}