Annotation of researchv10no/games/say.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #define N ((sizeof a/sizeof *a)/2)
                      3: #define R (rand()&077777)
                      4: char *a[] = {
                      5: "A ROLLING STONE","GATHERS NO MOSS",
                      6: "HISTORY","REPEATS ITSELF",
                      7: "A FIVE-POUND NOTE","HAS NO EFFECT UPON A SIX-PENNY SLOT MACHINE",
                      8: "THE COCK CROWS, BUT THE HEN","LAYS THE EGGS",
                      9: "A BUTTERFLY","LIVES LONG ENOUGH",
                     10: "A CIVIL SERVANT","MUST NOT BECOME AN UNCIVIL MASTER",
                     11: "ONE DIVORCE","COSTS MORE THAN FIFTY MARRIAGES",
                     12: "THE CRUNCHING OF A MAN'S TOAST","IS LOUDER THAN GOD'S OWN THUNDER",
                     13: "THE FIRE THAT MELTS LEAD","TEMPERS STEEL",
                     14: "NO INK","IS AS RED AS BLOOD",
                     15: "APPETITE","WAS DISCOVERED BEFORE VITAMINS",
                     16: "IF IT ISN'T ONE THING IT","IS ANOTHER",
                     17: "HE WHO LIVES BY THE SWORD","SHALL DIE BY THE SWORD",
                     18: "APRIL","IS THE CRUELEST MONTH",
                     19: "MARCH COMES IN LIKE A LION AND","GOES OUT LIKE A LAMB",
                     20: "FATHER","KNOWS BEST",
                     21: "A JACK OF ALL TRADES","IS MASTER OF NONE",
                     22: "NATURE","ABHORS A VACUUM",
                     23: "EVERY MAN","HAS A PRICE",
                     24: "ANYTHING","GOES",
                     25: "ALL'S WELL THAT","ENDS WELL",
                     26: "THE EXCEPTION","PROVES THE RULE",
                     27: "CONSISTENCY","IS THE LAST REFUGE OF THE UNIMAGINATIVE",
                     28: "A JOB WELL DONE","NEVER NEEDS REDOING",
                     29: "DRINK","IS THE CURSE OF THE WORKING CLASSES",
                     30: "A ROSE BY ANY OTHER NAME","WOULD SMELL AS SWEET",
                     31: "A GOOD WOMAN","IS MORE PRECIOUS THAN RUBIES",
                     32: "A GOOD NAME","IS BETTER THAN GREAT WEALTH",
                     33: "THE QUALITY OF MERCY","IS NOT STRAINED",
                     34: "A WORD TO THE WISE","IS SUFFICIENT",
                     35: "THE GRASS","IS ALWAYS GREENER ON THE OTHER SIDE OF THE FENCE",
                     36: "FAITH","MOVES MOUNTAINS",
                     37: "WAR","IS HELL",
                     38: "THE PRICE OF FREEDOM","IS ETERNAL VIGILANCE",
                     39: "SOMETHING THERE IS THAT","DOESN'T LOVE A WALL",
                     40: "IT'S AN ILL WIND THAT","BLOWS NO GOOD",
                     41: "A PLUMP BRIDE","MAKES A FAT WIFE",
                     42: "LIFE","IS JUST A BOWL OF CHERRIES",
                     43: "A PICTURE","IS WORTH A THOUSAND WORDS",
                     44: "ANYTHING WORTH DOING","IS WORTH DOING WELL",
                     45: "PATRIOTISM","IS THE LAST RESORT OF THE SCOUNDREL",
                     46: "IN THE COUNTRY OF THE BLIND THE ONE-EYED MAN","IS KING",
                     47: "THE LION","IS KING OF THE JUNGLE",
                     48: "IN THE BEGINNING GOD","CREATED THE HEAVEN AND THE EARTH",
                     49: "WEDLOCK","IS A PADLOCK",
                     50: "A HAUGHTY SPIRIT","GOES BEFORE DESTRUCTION",
                     51: "THE FOOLISHNESS OF GOD","IS WISER THAN MEN",
                     52: "A MERRY HEART","DOETH GOOD LIKE A MEDICINE",
                     53: "A WISE SON","MAKES A GLAD FATHER",
                     54: "A SOUND HEART","IS THE LIFE OF THE FLESH",
                     55: "RIGHTEOUSNESS","EXALTS A NATION",
                     56: "A SOFT ANSWER","TURNS AWAY WRATH",
                     57: "WINE","IS A MOCKER",
                     58: "HONOR","IS NOT SEEMLY FOR A FOOL",
                     59: "THE WRINGING OF THE NOSE","BRINGS FORTH BLOOD",
                     60: "CALAMITY","IS VIRTUE'S OPPORTUNITY",
                     61: "HE WHO FORESEES CALAMITY","SUFFERS THEM TWICE OVER",
                     62: "SEEING","IS BELIEVING",
                     63: "THE DEVIL","FINDS WORK FOR IDLE HANDS",
                     64: "AN IDLE MIND","IS THE DEVIL'S WORKSHOP",
                     65: "BAD BREATH","IS BETTER THAN NO BREATH AT ALL",
                     66: "MONEY","ISN'T EVERYTHING",
                     67: "ANYBODY WHO HATES DOGS AND CHILDREN","CAN'T BE ALL BAD",
                     68: "ONE","CANNOT CHEAT AN HONEST MAN",
                     69: "IMITATION","IS THE SINCEREST FORM OF FLATTERY",
                     70: "EXPERIENCE","IS THE BEST TEACHER",
                     71: "A TURNABOUT","IS FAIR PLAY",
                     72: "IT'S A BIRD, IT'S A PLANE, IT","IS SUPERMAN",
                     73: "EXTREMISM IN THE DEFENSE OF LIBERTY","IS NO VICE",
                     74: "A FOOL","RUSHES IN WHERE ANGELS FEAR TO TREAD",
                     75: "MY CUP","RUNNETH OVER",
                     76: "A CRIMINAL","ALWAYS RETURNS TO THE SCENE OF THE CRIME",
                     77: "EARLY TO BED, EARLY TO RISE","MAKES A MAN HEALTHY, WEALTHY, AND WISE",
                     78: "TO ERR IS HUMAN, TO FORGIVE","IS DIVINE",
                     79: "THE GOODNESS OF THE LORD","LEADS A MAN TO REPENTANCE",
                     80: "A CHAIN","IS ONLY AS STRONG AS THE WEAKEST LINK",
                     81: "TWO IS COMPANY BUT THREE","IS A CROWD",
                     82: "CURIOSITY","KILLS THE CAT",
                     83: "WHAT THIS COUNTRY NEEDS","IS A GOOD FIVE-CENT CIGAR",
                     84: "A CHILD","SHOULD BE SEEN AND NOT HEARD",
                     85: "CANDY","IS DANDY BUT LIQUOR IS QUICKER",
                     86: "AN OLD SOLDIER","NEVER DIES",
                     87: "THE DOG","IS MAN'S BEST FRIEND",
                     88: "IGNORANCE OF THE LAW","IS NO EXCUSE",
                     89: "MISERY","LOVES COMPANY",
                     90: "POLITICS","MAKES STRANGE BEDFELLOWS",
                     91: "ONE BAD APPLE","SPOILS THE BARREL",
                     92: "PRIDE","GOES BEFORE A FALL",
                     93: "A WOMAN'S PLACE","IS IN THE HOME",
                     94: "THE FAMILY THAT PRAYS TOGETHER","STAYS TOGETHER",
                     95: "HE WHO FIGHTS AND RUNS AWAY","LIVES TO FIGHT ANOTHER DAY",
                     96: "CRIME","DOES NOT PAY",
                     97: "ALL WORK AND NO PLAY","MAKES JACK A DULL BOY",
                     98: "A PUBLIC OFFICE","IS A PUBLIC TRUST",
                     99: "BREVITY","IS THE SOUL OF WIT",
                    100: "THE HAND","IS QUICKER THAN THE EYE",
                    101: "POSSESSION","IS NINE-TENTHS OF THE LAW",
                    102: "HALF A LOAF","IS BETTER THAN NONE",
                    103: "MAN","CANNOT LIVE BY BREAD ALONE",
                    104: "THE WORST","IS YET TO COME",
                    105: "A HOUSE DIVIDED AGAINST ITSELF","CANNOT STAND",
                    106: "THE ONLY GOOD INDIAN","IS A DEAD INDIAN",
                    107: "ONCE BITTEN","IS TWICE SHY",
                    108: "A CAT","HAS NINE LIVES",
                    109: "AN ELEPHANT","NEVER FORGETS",
                    110: "HELL","HATH NO FURY LIKE A WOMAN SCORNED",
                    111: "THE PROOF OF THE PUDDING","IS IN THE EATING",
                    112: "MUSIC","HATH CHARMS TO SOOTH THE SAVAGE BREAST",
                    113: "NO MAN","IS AN ISLAND",
                    114: "HE WHO LAUGHS LAST","LAUGHS BEST",
                    115: "THE PEN","IS MIGHTIER THAN THE SWORD",
                    116: "TIME","HEALS ALL WOUNDS",
                    117: "A LITTLE LEARNING","IS A DANGEROUS THING",
                    118: "CLOTHING","MAKES THE MAN",
                    119: "NO NEWS","IS GOOD NEWS",
                    120: "BAD NEWS","TRAVELS FAST",
                    121: "LOVE","MAKES THE WORLD GO 'ROUND",
                    122: "A RULE","IS MADE TO BE BROKEN",
                    123: "STILL WATER","RUNS DEEP",
                    124: "IN SPRING A YOUNG MAN'S FANCY","TURNS TO THOUGHTS OF LOVE",
                    125: "LIGHTNING","NEVER STRIKES TWICE IN THE SAME PLACE",
                    126: "HOME","IS WHERE THE HEART IS",
                    127: "HOPE","SPRINGS ETERNAL",
                    128: "VARIETY","IS THE SPICE OF LIFE",
                    129: "WELL BEGUN","IS HALF DONE",
                    130: "WHAT'S SAUCE FOR THE GOOSE","IS SAUCE FOR THE GANDER",
                    131: "ONE MAN'S MEAT","IS ANOTHER MAN'S POISON",
                    132: "THE NIGHT","IS ALWAYS DARKEST BEFORE THE DAWN",
                    133: "HASTE","MAKES WASTE",
                    134: "SLOW AND STEADY","WINS THE RACE",
                    135: "THE FEAR OF THE LORD","IS THE BEGINNING OF WISDOM",
                    136: "THE EARLY BIRD","GETS THE WORM",
                    137: "BLOOD","IS THICKER THAN WATER",
                    138: "PRACTICE","MAKES PERFECT",
                    139: "AN OUNCE OF PREVENTION","IS WORTH A POUND OF CURE",
                    140: "FOREWARNED","IS FOREARMED",
                    141: "IGNORANCE","IS BLISS",
                    142: "FACT","IS STRANGER THAN FICTION",
                    143: "TRUTH","IS BEAUTY",
                    144: "RELIGION","IS THE OPIATE OF THE MASSES",
                    145: "OPPORTUNITY","KNOCKS BUT ONCE",
                    146: "GOD","HELPS THOSE WHO HELP THEMSELVES",
                    147: "CHARITY","BEGINS AT HOME",
                    148: "ONE GOOD TURN","DESERVES ANOTHER",
                    149: "A WOMAN'S WORK","IS NEVER DONE",
                    150: "THE ROAD TO HELL","IS PAVED WITH GOOD INTENTIONS",
                    151: "FAMILIARITY","BREEDS CONTEMPT",
                    152: "A FAINT HEART","NEVER WON A FAIR LADY",
                    153: "HONESTY","IS THE BEST POLICY",
                    154: "MIGHT","MAKES RIGHT",
                    155: "EVERY CLOUD","HAS A SILVER LINING",
                    156: "SOMETHING","IS ROTTEN IN THE STATE OF DENMARK",
                    157: "ALL MANKIND","LOVES A LOVER",
                    158: "THE SUN","NEVER SETS ON THE BRITISH EMPIRE",
                    159: "HAPPINESS","IS A WARM PUPPY-DOG",
                    160: "ABSENCE","MAKES THE HEART GROW FONDER",
                    161: "CLEANLINESS","IS NEXT TO GODLINESS",
                    162: "A STITCH IN TIME","SAVES NINE",
                    163: "A FRIEND IN NEED","IS A FRIEND INDEED",
                    164: "NECESSITY","IS THE MOTHER OF INVENTION",
                    165: "A MISS","IS AS GOOD AS A MILE",
                    166: "ALL THAT GLITTERS","IS NOT GOLD",
                    167: "A BIRD IN THE HAND","IS WORTH TWO IN THE BUSH",
                    168: "A WATCHED POT","IS LONG IN BOILING",
                    169: "VIRTUE","IS ITS OWN REWARD",
                    170: "AN APPLE A DAY","KEEPS THE DOCTOR AWAY",
                    171: "DISCRETION","IS THE BETTER PART OF VALOR",
                    172: "A THING OF BEAUTY","IS A JOY FOREVER",
                    173: "LOVE OF MONEY","IS THE ROOT OF ALL EVIL",
                    174: "WHAT GOES UP","MUST COME DOWN",
                    175: "TOO MANY COOKS","SPOILS THE BROTH",
                    176: "A PENNY SAVED","IS A PENNY EARNED",
                    177: "A DIAMOND","IS A GIRL'S BEST FRIEND",
                    178: "HE WHO HESITATES","IS LOST",
                    179: "A NEW BROOM","SWEEPS CLEAN",
                    180: "SILENCE","IS GOLDEN",
                    181: "BEAUTY","IS IN THE EYE OF THE BEHOLDER",
                    182: "CONSCIENCE","DOTH MAKE COWARDS OF US ALL",
                    183: "DISTANCE","LENDS ENCHANTMENT TO THE VIEW",
                    184: "FRAILTY, THY NAME","IS WOMAN",
                    185: "IT'S A LONG LANE THAT","HAS NO TURNING",
                    186: "NONE BUT THE BRAVE","DESERVES THE FAIR",
                    187: "PROCRASTINATION","IS THE THIEF OF TIME",
                    188: "TIME AND TIDE","WAITS FOR NO MAN",
                    189: "TWO HEADS","IS BETTER THAN ONE"};
                    190: int s[N],p[N];
                    191: main(ac,av) 
                    192: int ac;
                    193: char **av;
                    194: {
                    195: long seed;
                    196: char *c;
                    197: int i,j,k,l,m,n;
                    198:        if(ac>1) {
                    199:                n=0;
                    200:                av++;
                    201:                while(**av>='0'&&**av<='9')n=n*10+*(*av)++-'0';
                    202:                }
                    203:        else n=1;
                    204:        for(i=0; i<N; i++)s[i]=p[i]=i;
                    205:        time(&seed);
                    206:        srand((int)seed);
                    207:        for(k=0; k<n; k++) {
                    208:                if(k%N==0) {
                    209:                        for(i=0; i<N; i++) {
                    210:                                j=R%(N-i);
                    211:                                l=s[i];
                    212:                                s[i]=s[j+i];
                    213:                                s[j+i]=l;
                    214:                                }
                    215:                        for(i=0; i<N; i++) {
                    216:                                j=R%(N-i);
                    217:                                l=p[i];
                    218:                                p[i]=p[j+i];
                    219:                                p[j+i]=l;
                    220:                                }
                    221:                        }
                    222:                c=a[2*s[k%N]];
                    223:                putchar(*c++);
                    224:                while(*c)if(*c>='A'&&*c<='Z')putchar(*c++-'A'+'a');
                    225:                else putchar(*c++);
                    226:                 c=a[2*p[k%N]+1];
                    227:                putchar(' ');
                    228:                 while(*c)if(*c>='A'&&*c<='Z')putchar(*c++-'A'+'a');
                    229:                else putchar(*c++);
                    230:                putchar('.'); putchar('\n');
                    231:                }
                    232:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.