From: "Jason Yip" Newsgroups: comp.os.msdos.djgpp Subject: Pls help!! Date: Tue, 7 Dec 1999 00:14:57 +0800 Organization: netteens.net (Hongkong Telecom IMS) Lines: 33 Message-ID: <82gnhb$dm2$1@imsp026.netvigator.com> NNTP-Posting-Host: olkc10b126.netvigator.com X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com I wrote the following program.. I want the right answer shows "Very Good", the wrong answer shows "No" and input again.. but why my progam like this: 1st answer always correct.. the 2nd answer always wrong... How can I solve it? Thx a lot!! #include #include #include main () { int ans,h; printf("Enter -1 to end\n"); do{ srand(time(NULL)); printf("How much is %d times %d? ",1+(rand()%9),1+(rand()%9)); ans=(1+(rand()%9))*(1+(rand()%9)); scanf("%d",&h); if (ans == h) printf("Very Good!\n"); else if (ans != h){ do{ printf("No. Please try again.\n"); printf("? \n"); scanf("%d",&h);} while (ans != h); }} while (ans != -1); if (ans == -1) printf("That's all for now. Bye."); return 0; }