C语言 10000-99999随机数

来源:百度知道 编辑:UC知道 时间:2024/06/25 20:36:04
我想得到100个10000至99999的正随机数
可是会有些负的……为什么?
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>

int main()
{
int a,i;
srand( (unsigned)time( NULL ) );
for(i=0;i<100;i++)
{
a=rand()%99999+10000;
printf("%d\n",a);
}
getch();
return 0;
}
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>

int main()
{
long a;
int i;
srand( (unsigned)time( NULL ) );
for(i=0;i<100;i++)
{
a=rand()%89999+10000;
printf("%d\n",a);
}
getch();
return 0;
}
改成这样貌似还不行

a=rand()%99999+10000;
==>
a=rand()%89999+10000;

int a ;改成long a
因为在16位机上int表示不了10万这么大的数

何志丹 搞错了吧?
int的数值范围是-21.4亿 - 21.4亿 怎么会连10万都保存不了