用c语言编写:首先由电脑产生4个随机数(10以内),再由用户输入4个数,也是10以内,例如。。。

2024-11-27 13:45:52
推荐回答(3个)
回答1:

/*测试环境Ubuntu12.04 编译器gcc */
#include
#include
#include高知
int fun(int[4]); //判断是否有重复
void judge(int[4],int[4]); //判断几阴几阳
int main(int argc,char *argv[]){

int data_1[4],data_2[4];
int k=0,count=1;
time_t t;
srand((unsigned)time(&t));
for(;k<4;k++)
data_1[k]=rand()%9+1;
while(fun(data_1)==1){
printf("随机产生的数字有重复,计算机重新产生四个数字!\n");
for(k=0;k<4;k++)
data_1[k]=rand()%9+1;
}
for(k=0;k<4;k++)
printf("%d ",data_1[k]);
printf("备念哪\n");
printf("计算机已产生了四个随机且不同的1~9的数字,请输入四个数字(1~9):\n");
for(k=0;k<4;k++){
printf("输入第%d个数字: ",count++);
scanf("%d",&data_2[k]);
}
while(fun(data_2)==1){
printf("您输入的数字有重复,请重新输入,切记不要有重复!\n");
for(k=0;k<4;k++){
printf("输入第%d个数字: ",count++);
scanf("%d",&data_2[k]);
}
}
judge(data_1,data_2);
return 0;
}
int fun(int m[4]){
int n=0,flag=-1,q;
for(;n<3;n++){
q=n+1;
for(;q<4;q++){
if(m[n]==m[q]){
flag=1;
break;
}
}
}
return flag;
}
void judge(int a[4],int b[4]){
int i=0,j=0,x=0,y;
for(;x<4;x++){
for(y=0;y<4;y++){
if(b[x]==a[y]){
if(x==y){
i++;
j++;
}
else
j++;
}
}
}
printf("%d阳%d阴\n"仿码,i,j);
}

回答2:

#include
#include
int main()
{
int i;
int yin = 0;
int yang = 0;
unsigned seed;
printf("please input seed\仔李仿扰铅n");
scanf("%d",&seed);
srand(seed);
int a[4];
int b[4];
for(i = 0; i < 4; i++)
a[i] = rand() % 10;
for(i = 0; i < 4; i++)
printf("%d ",a[i]);
printf("\n");

printf("please input 4 number\n");
for(i = 0; i < 4; i++)
scanf("%d",&b[i]);
for(i = 0; i < 4; i++)
printf("%d\t",b[i]);
printf("\念纤n");

for(i = 0; i < 4; i++)
{
if(a[i] == b[i])
yang++;
else
yin++;
}
printf("%d阳%d阴\n",yang,yin);
return 0;
}

回答3:

/////////////////////////////////////////
// C-Free 4.1
// MinGW 3.4.5
// veket的小号
///////////吵历//////////////////////////////
#include
#include
#include
int main()
{
int a[4];
int b[4];
int i;
int j;
int k;
srand((unsigned)time(NULL));
for(i=0;i<4;i++)
{
do{
for(k=0;k<15;k++)
{
a[i] = rand()%10;
}
for(j=0;j {
if(a[i]==a[j])
{
break;
}
}
}while(j<脊和i);
}
printf("rand number: ");
for(i=0;i<樱碰盯4;i++)
{
printf("%4d", a[i]);
}
printf("\n\ninput number: ");
for(i=0;i<4;i++)
{
scanf("%d", &b[i]);
}
for(i=0;i<3;i++)
{
for(j=i+1;j<4;j++)
{
if(a[i]>a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}
for(i=0;i<3;i++)
{
for(j=i+1;j<4;j++)
{
if(b[i]>b[j])
{
k = b[i];
b[i] = b[j];
b[j] = k;
}
}
}
k = 0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(a[i]==b[j])
{
k++;
}
}
}
printf("\n\n%d阳%d阴", 4-k, k);
return 0;
}

未考虑输入重复..........