1: #include <stdio.h> 2: #define MAXINT 32768. 3: float fract = 2; 4: double atof(); 5: char rflag,eflag,c; 6: char ibuf[BUFSIZ],obuf[BUFSIZ],line[BUFSIZ]; 7: main(argc,argv) char **argv; 8: { 9: long tvec; 10: int i; 11: for(i=1;i<argc;i++) 12: { if(*argv[i]!='-') 13: fract=atof(argv[i]); 14: else if((c=argv[i][1])=='e') 15: eflag=1; 16: else if(c=='r') 17: rflag=1; 18: } 19: time(&tvec); 20: srand((int)tvec); 21: if(!rflag && !eflag) 22: { setbuf(stdin,ibuf); 23: setbuf(stdout,obuf); 24: } 25: for(;eflag==0;) 26: { gets(line); 27: if(feof(stdin)) break; 28: if(rand()/MAXINT*fract<1) puts(line); 29: } 30: exit((int)(rand()/MAXINT*fract)); 31: }