求大神帮我看一下这个程序。调用函数出错。。。
#include<stdio.h>#include<stdlib.h>
#include<iostream.h>
#include<conio.h>
#include<time.h>
int a[4],d[4],i,g,n,b,e,f,j;
void main()
{
void sj(int a[4],int n);
int c1(int a[4],int d[4]);
int c2(int a[4],int d[4]);
do
{
printf("1.随机产生数据;2.用户输入数据;3.退出游戏;请输入您的选择:");
scanf("%d",&b);
if(b==1)
{
sj(a,4);
printf("随机数字已产生\n");
}
else
{
if(b==2)
{
printf("请输入您的数字:");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
}
else
exit(0);
}
for(g=0;g<8;g++)
{
printf("请输入第%d个四位数:",g+1);
for(i=0;i<4;i++)
{
scanf("%d",&d[i]);
}
e=c1(a,d);
f=c2(a,d);
printf("%dA%dB\n",e,f);
if(e==4)
{
printf("恭喜你猜对了!\n");
break;
}
}
if(g==8)
printf("很遗憾,您的机会用完了。");
printf("正确答案是:");
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("继续游戏选择“1”;退出游戏选择“2”。");
scanf("%d",&g);
while(g=1);
exit(0);
}
void sj(int a[4],int n)
{
srand((unsigned)time(NULL));
a[0] = rand() % 10 ;
for (i=1;i<4;i++)
{
Lab: a[i] = rand() % 10 ;
for (;j<i;j++)
{
if (a[i] == a[j]) goto Lab;
}
}
system("pause");
}
int c1(int a[4],int d[4])
{
int i,temp=0;
for(i=0;i<4;i++)
{
if(a[i]==d[i])
{
temp++;
}
}
return temp;
}
int c2(int a[4],int d[4])
{
int i,k,temp=0;
for(i=0;i<4;i++)
{
for(k=0;k<4;k++)
{
if(k==i)continue;
if(a[i]==d[k])
{
temp++;
}
}
}
return temp;
}