Commit | Line | Data |
---|---|---|
96c00687 TL |
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 | } |