编写一个程序来生成0
到20
之间的随机int
类型整数。
提示:
使用模数赋值运算符来限制随机数的范围。
格式如下:
r%=n;
r
是从rand()
函数返回的数字。%=
是模数赋值运算符。n
是范围限制加1
的值。
在前面的语句之后,返回的值在0
到n-1
的范围内。因此,如果要生成介于1
和100
之间的值,则可以使用以下公式:
value = (r % 100) + 1;
参考实现代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int r,a,b;
puts("100个随机数如下:");
for(a=0;a<20;a++)
{
for(b=0;b<5;b++)
{
r=rand();
r%=21;
printf("%d\\t",r);
}
putchar('
');
}
return(0);
}
编译并执行上面示例代码,得到以下结果:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
100个随机数如下:
1 4 9 19 8
10 10 9 15 10
2 19 20 4 20
7 3 15 16 16
17 14 12 9 2
5 5 13 1 19
5 0 3 12 17
9 1 7 16 16
15 18 12 14 20
10 20 2 2 15
17 19 7 8 8
9 11 11 1 10
9 6 11 12 17
5 19 18 10 14
12 3 9 3 17
9 11 14 9 14
7 3 12 14 11
18 0 2 8 1
12 18 5 0 7
1 4 6 18 14