>>592 一時ファイルを生成して、一度そこへ書き込み、最後の10行を除く分だけ
読み込んだら削除するようにしてあるっす。それがだめならもう知らないぽ。

#include <iostream>
using namespace std;
int main() {
int ch,cnt;
char *fname="tmptmptmp";
FILE *tmpf;

tmpf=fopen(fname,"w");
if(tmpf==NULL) return 1;

cnt=1;
while( (ch=getchar()) != EOF ) {
if( ch=='\n') cnt++;
fputc(ch,tmpf);
}
fclose(tmpf);

tmpf=fopen(fname,"r");
while( cnt>10 ) {
ch=fgetc(tmpf);
putchar(ch);
if( ch=='\n') cnt--;
}
remove(fname);
fclose(tmpf);
return 0;
}