c语言产生随机数

来源:百度知道 编辑:UC知道 时间:2024/09/23 06:35:54
关于这个问题 我在网上看了好久 我作出来的随机数序列都是一样的 随机数种子 也试过了 干脆要个代码吧 要求产生1000-9999的一个随机数 不能有 1111 1233 这样含有重复数字的
用户从键盘输入4位数字不重复的整数,来匹配程序运行时随机生成的一个4位整数,若数字和位置均等同,表示用户赢了。每猜一次,计算机均给出提示信息(x,y),x表示数字、位置都猜得正确的数字的个数,y表示数字猜对了,但位置没有猜对的数字的个数。
程序运行中,给定H键作为帮助键,帮助用户更快的达到目的,无论何时,按下H键,均得到更详细的信息,如“第1位数字正确,第2,3位数字位置不对”等。给定K键为管理键,按下后可以查看计算机所给出的4位数,但查看前需要输入密码,密码自定

用户从键盘输入4位数字不重复的整数,来匹配程序运行时随机生成的一个4位整数,若数字和位置均等同,表示用户赢了。每猜一次,计算机均给出提示信息(x,y),x表示数字、位置都猜得正确的数字的个数,y表示数字猜对了,但位置没有猜对的数字的个数。
程序运行中,给定H键作为帮助键,帮助用户更快的达到目的,无论何时,按下H键,均得到更详细的信息,如“第1位数字正确,第2,3位数字位置不对”等。

猜数字啊,以前写了个。你后面要的那个帮助那个功能没有
给代码给你,你自己搞吧。我那个是允许用户输入有重复的数的。
以前写的,代码风格有点不好,
#include "stdio.h"
#include<stdlib.h>
#include<time.h>
#include<math.h>

void main()
{
int i,j,m,n,e=0;
int a[4],b[4];
int k=8,x=0,y=0,t=0;

srand(time(NULL));

do
{
t=0,e=0;

for(i=0;i<4;i++) //随机抽取4个数
for(j=0;j<4;j++)
a[i]=rand()%10;

for(i=0;i<4;i++) //判断4个中是否有重复
for(j=i+1;j<4;j++)
if(a[i]==a[j])
e++;

}

while(e>0); //直到抽到无重复的4个数

printf("请输入一个四位数\n&quo