随便写了个彩票选号的小程序
kahn 2003-12-18 07:23:31 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is a program for lottery :P *
* I wish that you will have fun from it ^_^ *
* Author: Slivermedol *
* Ver 0.1 2003/12/8 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <dos.h>
void lucky36()
{
int lucky[7], tag[37], loop, timedelay, output_temp;
srand(time(NULL)); /* 生成随机数的种子 */
for(loop=0; loop<37; loop++) /* 建立一个标志数组,标志哪些数被取过了 */
tag[loop]=0; /* 若相应数的标志位为0,则表示此数可取 */
for(loop=0; loop<7; loop++)
{
lucky[loop]=rand()%36+1; /* 生成7个36选7的随机数 */
while(1)
{
if(tag[lucky[loop]]==0)
{
tag[lucky[loop]]=1;
break;
}
else
lucky[loop]=lucky[loop]*49%31+3; /* 若本次取到的随机数之前已被取走,则再生成一个 */
}
}
for(loop=0; loop<37; loop++) /* 打印得到的结果 */
{
/*for(timedelay=0; timedelay<8; ++timedelay)
delay(1000000000); */
if(tag[loop]==0)
;
else /* 只有标志数组值中为1的,才能被打印 */
{
printf("%5d", loop);
}
}
printf("\n");
}
main()
{
int i, tag=1;
char choice;
system("cls");
printf("Lucky Today!\n");
printf("Press any key to continue");
getch();
while(tag)
{
printf("\n");
printf("Now Loading"); /* 在屏幕上显示一个用于骗人的Now Loading.... */
for(i=0; i<10; ++i)
{
delay(1000000000);
printf(".");
}
printf("\n");
lucky36();
printf("This is your lucky!!!\n");
printf("Do you want to have another try? \"Y\"or\"N\":");
choice=getch();
switch(choice) /* 选择的结果决定tag,若tag=1,则继续下一次的取数 */
{
case 'y':
case 'Y':
printf("%c\n", choice);
break;
case 'n':
case 'N':
printf("%c\n", choice);
printf("\n");
printf("Thank you for using it");
tag=0; /* 若tag=0,则终止取数,退出程序 */
break;
default:
printf("%c\n", choice);
printf("\n");
printf("Wrong Choice!! It will be terminate!!!");
tag=0; /* 若选择的结果不是Y或y或N或n,则终止程序 */
break;
}
}
}
用来选36选7的,大家说还要加些什么功能,怎么加,我是想加入统计的功能,能对历届的彩票结果做分析后给出结果,而不只是单纯的随机数,大家给个头绪,谢谢