Commit | Line | Data |
---|---|---|
b4e2e355 KT |
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 | } |