计算机等级考试中出现的问题
随机产生300个4位数,将300个4位数放在数组a中,求出所有这些4位数中是素数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b中的4位数按从小到大的进行排序。
#include"stdio.h"
#include"stdlib.h"
int a[300],b[300],cnt=0;
int isp(int m)
{
int i;
for(i=2;i<m/2;i++)
{
if(m%i==0)
return 0;
else
return 1;
}
}
void jsv()
{
int i,j,temp;
for(i=0;i<300;i++)
if(isp(a[i]))
b[cnt++]=a[i];
for(i=1;i<cnt;i++)
{
temp=b[i];
j=i-1;
while(j>=0&&temp<b[j])
b[j+1]=b[j--];
b[j+1]=temp;
}
}
void main()
{
int i;
int temp;
for(i=0;i<300;)
{
temp=random(10000);
if(temp>=1000&&temp<10000)
{
a[i]=temp;
i++;
}
}
jsv();
printf("cnt=%d\n",cnt);
for(i=0;i<cnt;i++)
printf("b[%d]=%d\n",i,b[i]);
}
调试时出现的错误如下:
--------------------Configuration: hahj - Win32 Debug--------------------
Compiling...
jjg.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\hahj\jjg.cpp(40) : error C2065: 'random' : undeclared identifier
Error executing cl.exe.
hahj.exe - 1 error(s), 0 warning(s)
random没有定义,这个函数不知道在那个头文件中啊,谁知道?