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