一个用VC++编的猜数字的程序的编译问题

wuglad wuglad 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
照着别人给的例子打入的,可是编译不过去

/*猜数字出题部分,给出AB值*/
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
void getrandom(int a[],int n)
{
int i=0,j=0,bool=1;
while(i<n)
{
bool=1;
randomize();/*保证每次的结果不同*/
a[i]=random(10);
for(j=0;j<i;j++)
if(a[j]==a[i])
{
bool=0;
break;
}
if(!bool)
i--;
i++;

}
/*print it*/
/*
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
*/
}

int getAB(int s[],int d[],int n)
{
int i,j;
int A=0,B=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(s[i]==d[j])
{
if(i==j) A++;
else B++;
}
}
return A*10+B;
}
main()
{

int s[4],guess[4];
int i,j,AB;
again: printf("wait......\n\n");
getrandom(s,4);

for(i=0;i<8;i++)
{
printf("Please input 4 numbers (a b c d):\n\t\t");
for(j=0;j<4;j++)
{
scanf("%d",&guess[j]);
}
AB=getAB(s,guess,4);
printf("\t\t%d A %d B\n",AB/10,AB%10);
if(AB==40)
{
printf("\n\tyou win!!!\n");
break;
}

}
if(AB!=40)
printf("\nYou lost,the numbers is:%d %d %d %d\n",s[0],s[1],s[2],s[3]);
printf("Guess again?(Y/N):");
if(getch()=='y'||'Y')
goto again;
return 0;
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最后一行的return 0是我后加上去的。编译结果提示:
--------------------Configuration: 猜数字 - Win32 Debug--------------------
Compiling...
猜数字.cpp
e:\猜数字\猜数字.cpp(11) : error C2065: 'randomize' : undeclared identifier
e:\猜数字\猜数字.cpp(12) : error C2065: 'random' : undeclared identifier
e:\猜数字\猜数字.cpp(75) : error C2065: 'getch' : undeclared identifier
Error executing cl.exe.

猜数字.obj - 3 error(s), 0 warning(s)
到底错在哪了呢?
...全文
评论 4
收藏 已收藏
分享
返回顶部
wuglad
游戏开发 8,324 成员 23,685 内容