自己试着写了一个随机选号的代码,如果有什么bug望指正,万分感谢
#include <time.h>
#include "stdio.h"
#include "stdlib.h"
#include "windows.h"
int num1(int a)//抽随机数
{
srand((unsigned )time(NULL));
int n=rand()%a+1;
return n;
}
int num2(int a,int b)//范围抽随机数
{
srand((unsigned )time(NULL));
int n=rand()%a+b;
return n;
}
int one(int a)
{
int n= num1(a);
printf("幸运同学是:%d号!!!\n",n);
}
int two(int a)
{
int num;
printf("请输入要抽取人数");
scanf("%d",&num);
for (int i = 0; i < num; i++)
{
printf("第%d位幸运同学是%d!!!\n",i+1,num1(a));
Sleep(1000);
}
}
int three(int a)
{
int max,min;
int rs;
printf("请输入抽取范围\n");
printf("请输入下限");
scanf("%d",&min);
printf("请输入上限");
scanf("%d",&max);
printf("请输入抽取人数");
scanf("%d",&rs);
for (int i = 1; i <=rs ; i++)
{
printf("第%d位幸运同学是%d!!!\n",i,num1(a));
Sleep(1000);
}
}
int four(int a)
{
int n;
while(1)
{
n=num1(a);
if(n%2!=0)
{
break;
}
}
printf("这位幸运同学是%d!!!\n",n);
}
int five(int a)
{
int n;
while(1)
{
n=num1(a);
if(n%2==0)
{
break;
}
}
printf("这位幸运同学是%d!!!\n",n);
}
int main()
{
int pnum;
int flag;
buff1: printf("请输入全班总人数:");
scanf("%d",&pnum);
buff2: printf("1---------随机抽一位\n");
printf("2---------指定人数抽\n");
printf("3---------指定范围抽\n");
printf("4---------从奇数中抽\n");
printf("5---------从偶数中抽\n");
printf("6---------退出\n");
printf("请输入选项:");
int key;
scanf("%d",&key);
switch (key)
{
case 1:one(pnum);
break;
case 2:two(pnum);
break;
case 3:three(pnum);
break;
case 4:four(pnum);
break;
case 5:five(pnum);
break;
case 6:
goto buff3;
break;
default:
printf("数字输错了!!!重输!!!!!\n");
goto buff2;
}
printf("如果要继续但人数不变请按1\n如果人数改变请按2\n如果退出请按3\n");
printf("请输入选项:");
scanf("%d",&flag);
switch (flag)
{
buff4:case 1:
goto buff2;
break;
case 2:
goto buff1;
break;
case 3:
break;
default:
printf("数字输错了!!!重输!!!!!!");
goto buff4;
}
buff3:printf("谢谢使用");
Sleep(2000);
}
运行结果如下图: