1: #include <stdio.h> 2: 3: char line[500]; 4: char bline[500]; 5: 6: main() 7: { 8: double p; 9: register char * l; 10: long t; 11: FILE *f; 12: 13: f = fopen("/usr/games/lib/fortunes", "r"); 14: if (f == NULL) { 15: printf("Memory fault -- core dumped\n"); 16: exit(1); 17: } 18: time(&t); 19: srand(getpid() + (int)((t>>16) + t)); 20: p = 1.; 21: for(;;) { 22: l = fgets(line, 500, f); 23: if(l == NULL) 24: break; 25: if(rand() < 32768./p) 26: strcpy(bline, line); 27: p += 1.; 28: } 29: fputs(bline, stdout); 30: return(0); 31: }