简单的随机数应用
有兴趣的可以玩玩
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 4/*随机抽N个数*/
#define MAX 50//最大尝试数目
int main()
{
int i;
int count;//次数
int s_passw[N+1];
void detect(int[],int);
srand(time(NULL));
for(i=0;i<N;i++)
{
s_passw[i]=rand()%10;//得到随机数
}
printf("****\n");
printf("自信的你想要猜几次呢: ");
scanf("%d",&count);//输入次数
while(1)
{
if(count>MAX)
{
printf("太多了,少一点: ");
scanf("%d",&count);//输入次数
}
else
break;
}
detect(s_passw,count);
return 0;
}
void get_number(char &a,int &b)//类型转换
{
b=a-'0';
}
void detect(int right[],int count)
{
int i,j,num;
int times=0,guess_i[N+1];
char guess_c[N+1];
for(num=0;num<count;num++)//机会
{
times=0;
printf("第%d次机会: ",num+1);
scanf("%s",guess_c);//得到值
for(i=0;i<N;i++)
{
get_number(guess_c[i],guess_i[i]);
}
for(j=0;j<N;j++)//检查跟正确值的差异
{
if(guess_i[j]==right[j])
{
printf("1");
times++;
}
else
printf("0");
}
printf("\n");
if(times==N)//4个正确
{
printf("Congratulations!\n");
break;
}
}
if(times!=N)//一直不正确
{
printf("Sorry,you haven't guess the right number!\nThe correct answer is:");
for(j=0;j<N;j++)
{
printf("%d",right[j]);
}
}
}