系统错误提示error C2065: 'rand' : undeclared identifier
#include "stdio.h"
void main()
{int a[20],i,min,n=0,t;
printf("产生的20个数分别为:\n");
for(i=0;i<20;i++)
{a[i]=rand()*100;
printf("%d ",a[i]);}
min=a[0];
for(i=1;i<20;i++)
if(a[i]<min)
{min=a[i];n=i;}
printf("最小值为%d,下标为%d\n",min,n);
}
希望知道的人帮忙修改和指正,谢谢!
#include <stdio.h>
#include <stdlib.h> //使用rand()需要包含头文件stdlib.h
#include <time.h> //time
void main()
{
srand((unsigned) time(NULL)); //加上这条语句.让每次生成的随机数都不一样.
int a[20],i,min,n=0,t;
printf("产生的20个数分别为:\n");
for(i=0;i<20;i++)
{
a[i]=rand()*100;
printf("%d ",a[i]);
}
min=a[0];
for(i=1;i<20;i++)
if(a[i]<min)
{
min=a[i];
n=i;
}
printf("最小值为%d,下标为%d\n",min,n);
}
使用rand函数需要包含stdlib.h,另外你没有初始化随机数种子,每次结果都是一样的
已经帮你改好了,代码逻辑没什么问题:
#include "stdio.h"
#include <stdlib.h>
#include <time.h>
void main()
{int a[20],i,min,n=0,t;
srand( time( 0 ) );
printf("产生的20个数分别为:\n");
for(i=0;i<20;i++)
{a[i]=rand()*100;
printf("%d ",a[i]);}
min=a[0];
for(i=1;i<20;i++)
if(a[i]<min)
{min=a[i];n=i;}
printf("\n\n最小值为%d,下标为%d\n",min,n);
}