永发信息网

关于rand的一个C语言程序问题

答案:2  悬赏:60  手机版
解决时间 2021-04-30 20:37

系统错误提示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); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
许飞我要的飞翔的歌词谁有?
孕39周了,这两天肚子总是硬硬的,而且宝宝动
中国电信(桃园旗舰店)我想知道这个在什么地方
年会员成长值多少啊
梦幻LG破浪诀有用没?
麻将的胡法有哪些?
你什么时候弄那么高积分的啊 哈哈
跪求4.0数据
完美世界国际WX+1力攻击怎么算?
金平快餐店地址有知道的么?有点事想过去
不好意思的意思是什么,花非花雾非雾,似梦似醒
诺基亚5730XM港行支持3G网络吗?知道的说下
是我大惊小怪还是那孩子智力有问题?
我问她在乎吗
玉腕红裙随桨落野蛙跳惊采莲船什么意思
推荐资讯
相亲好还是自由恋爱好?
指环王ol是不是可以直接进去就可以玩了啊
炫舞的幸运币怎么用
非洲的中心是哪个国家,非洲有多少个国家,首
什么是山竹阿
福莱哆乐器在哪里啊,我有事要去这个地方
实况2010哪支球队球员站位最好,最易上手
请求一道小学数学题目
口干舌燥怎么办,口干舌燥口臭怎么办? 5分
为什么开店那么难?
中央空凋该怎么清理
给宝贝女儿取个名字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?