【关于rand()函数的疑问】解决办法
【关于rand()函数的疑问】
这个可以产生随机数的函数
书上和百度百科里都说 “rand()函数产生0到1之间的随机数”
但是如果真是这样的话 0.5 %9 是什么呢?
我直接打印出了rand产生的数字60000次
经过多次运行这个程序
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i,num,maxr,minr;
srand((unsigned)time(NULL));
for (i=0;i<60000;i++)
{
num = rand();
if (i==0||num>maxr)
{
maxr=num;
}
if (i==0||num<minr)
{
minr=num;
}
printf("%2d ",num);
}
printf("\nmax = %d min=%d\n",maxr,minr);
}
91 11740 26341 11473 8871 23107 22597 24367 14672 18756 15765 13959 17070 3890 5
354 18281 5285 12218 846 21127 7594 3526 5395 21437 18369 4770 22631 590 1959 20
573 1576 9841 27728 9075 11513 26636 17044 6056 4757 31423 8485 5175 16227 19236
28868 4908 26699 4437 17588 26639 10953 27823 5999 22978 20287 27862 16281 5036
1424 11257 12594 12824 20458 24152 24335 28119 4067 31491 20619 11053 27080 250
60 16250 28651 29233 8959 21086 1240 23001 19193 18142 18005 2989 22743 8307 266
89 28963 16649 12133 12571 20685 8615 1014 28774 31534 3066 8668 13394 14796 185
4 2037 664 13446 12454 24631 6310 16680 7329 27622 30460 20797 23900 9 15318 29
221 21128 9758 4363 4967 9821 13581 12597 1864 7135 30299 18450 29084 4704 11168
12842 6364 25158 2107 24498 19833 30478 29508 24241 23408 19089 9666 20577 1487
9 9606 31006 19928 28246 18761 31192 32743 21170 26331 4729 28227 14886 1833 252
89 18914 8411 18577 5953 13992 24378 5538 21699 22595 4935 14627 3209 9812 13360
29527 19548 19407 1061 29824 24326 5540 21611 24738 20745 13471 20396 16521 116
65 22156 16018 1037 1960 23200 31380 31125 9129 9492 783 24282 21751 22035 26776
28398 25582 26582 657 4476 4122 30734 8954 3921 679 16514 15498 28699 17689 761
12030 25969 4158 27738 11698 26388 1888 13074 29806 25717 13246 29878 16002 121
51 21566 5865 13333 1141 21852 12161 16826 21383 1382 14309 3652 12033 22763 402
5 732 829 21361 4798 6480 31643 26726 17907 25774 14533 26713 24577 2066 15416 2
0074 12501 4028 11520 511 11407 24677 22978 24761 7579 12499 7168 9383 16925 168
12 153 31417 22675 18312 22927 23927 24502 15177 7437 2034 3488 1199 13737 5371
16948 13095 10214 7828 30907 14564 12541 29092 31947 23601 17117 10735 26221 212
54 368 19012 8574 15577 9504 9464 1110 28342 26266 10388 14760 17810 22481 25803
425 29405 20038 23471 3701 30550 17032 29476 32686 16419 18678 6804 16742 6689
1996 30948 21055 28537 20062 13991 13520 884 12702 14482 4171 8336 20964 24112 1
7501 27859 11759 6359 29782 22623 10023 28379 19850 23111 6948 16129 3319 28577
13940 22583 2088 4316 25753 14722 15705 4436 338 3639 11995 7460 12060 14958 351
4 18747 30455 2996 30622 27059 5485 25088 19439 8798 6353 25833 23612 26017 1350
9 6421 31710 21893 28414 27125 13016 15115 2380 31663 6146 1984 19668 22876 5735
5522 6816 21364 8683 6370 25947 8838 7985 30938 30805 8749 699 513 12238 14399
27475 9996 1648 15431 15274 17400 7197 29494 30528 5973 6635 29525 26243 26085 5
997 1150 17979 31845 25909 20620 1573 939 24726 30736 23262 23281 13487 24390 99
87 27761 11428 18247 32663 12338 31535 1919 20389 20769 7000 31586 24358 10339 1
1904 30811 16676 746 31652 24581 27936 25926 29664 8862 1970 16830 24626 17849 7
791 21664 7297 17202 23311 6869 990 21607 29136 5816 29193 32165 20245 22313 323
11 28129 18515 29916 21266 1705 21549 31223 18434 8282 3550 26589 8107 24210 200
8 20292 4023 10472 12714 11918 30165 7131 21799 2646 24065 1545 28357 29769 1587
9 17826 25923 29751 2626 6683 25743 1897 1962 15911 24550 10806 32526 24035 3257
这个可以产生随机数的函数
书上和百度百科里都说 “rand()函数产生0到1之间的随机数”
但是如果真是这样的话 0.5 %9 是什么呢?
我直接打印出了rand产生的数字60000次
经过多次运行这个程序
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i,num,maxr,minr;
srand((unsigned)time(NULL));
for (i=0;i<60000;i++)
{
num = rand();
if (i==0||num>maxr)
{
maxr=num;
}
if (i==0||num<minr)
{
minr=num;
}
printf("%2d ",num);
}
printf("\nmax = %d min=%d\n",maxr,minr);
}
91 11740 26341 11473 8871 23107 22597 24367 14672 18756 15765 13959 17070 3890 5
354 18281 5285 12218 846 21127 7594 3526 5395 21437 18369 4770 22631 590 1959 20
573 1576 9841 27728 9075 11513 26636 17044 6056 4757 31423 8485 5175 16227 19236
28868 4908 26699 4437 17588 26639 10953 27823 5999 22978 20287 27862 16281 5036
1424 11257 12594 12824 20458 24152 24335 28119 4067 31491 20619 11053 27080 250
60 16250 28651 29233 8959 21086 1240 23001 19193 18142 18005 2989 22743 8307 266
89 28963 16649 12133 12571 20685 8615 1014 28774 31534 3066 8668 13394 14796 185
4 2037 664 13446 12454 24631 6310 16680 7329 27622 30460 20797 23900 9 15318 29
221 21128 9758 4363 4967 9821 13581 12597 1864 7135 30299 18450 29084 4704 11168
12842 6364 25158 2107 24498 19833 30478 29508 24241 23408 19089 9666 20577 1487
9 9606 31006 19928 28246 18761 31192 32743 21170 26331 4729 28227 14886 1833 252
89 18914 8411 18577 5953 13992 24378 5538 21699 22595 4935 14627 3209 9812 13360
29527 19548 19407 1061 29824 24326 5540 21611 24738 20745 13471 20396 16521 116
65 22156 16018 1037 1960 23200 31380 31125 9129 9492 783 24282 21751 22035 26776
28398 25582 26582 657 4476 4122 30734 8954 3921 679 16514 15498 28699 17689 761
12030 25969 4158 27738 11698 26388 1888 13074 29806 25717 13246 29878 16002 121
51 21566 5865 13333 1141 21852 12161 16826 21383 1382 14309 3652 12033 22763 402
5 732 829 21361 4798 6480 31643 26726 17907 25774 14533 26713 24577 2066 15416 2
0074 12501 4028 11520 511 11407 24677 22978 24761 7579 12499 7168 9383 16925 168
12 153 31417 22675 18312 22927 23927 24502 15177 7437 2034 3488 1199 13737 5371
16948 13095 10214 7828 30907 14564 12541 29092 31947 23601 17117 10735 26221 212
54 368 19012 8574 15577 9504 9464 1110 28342 26266 10388 14760 17810 22481 25803
425 29405 20038 23471 3701 30550 17032 29476 32686 16419 18678 6804 16742 6689
1996 30948 21055 28537 20062 13991 13520 884 12702 14482 4171 8336 20964 24112 1
7501 27859 11759 6359 29782 22623 10023 28379 19850 23111 6948 16129 3319 28577
13940 22583 2088 4316 25753 14722 15705 4436 338 3639 11995 7460 12060 14958 351
4 18747 30455 2996 30622 27059 5485 25088 19439 8798 6353 25833 23612 26017 1350
9 6421 31710 21893 28414 27125 13016 15115 2380 31663 6146 1984 19668 22876 5735
5522 6816 21364 8683 6370 25947 8838 7985 30938 30805 8749 699 513 12238 14399
27475 9996 1648 15431 15274 17400 7197 29494 30528 5973 6635 29525 26243 26085 5
997 1150 17979 31845 25909 20620 1573 939 24726 30736 23262 23281 13487 24390 99
87 27761 11428 18247 32663 12338 31535 1919 20389 20769 7000 31586 24358 10339 1
1904 30811 16676 746 31652 24581 27936 25926 29664 8862 1970 16830 24626 17849 7
791 21664 7297 17202 23311 6869 990 21607 29136 5816 29193 32165 20245 22313 323
11 28129 18515 29916 21266 1705 21549 31223 18434 8282 3550 26589 8107 24210 200
8 20292 4023 10472 12714 11918 30165 7131 21799 2646 24065 1545 28357 29769 1587
9 17826 25923 29751 2626 6683 25743 1897 1962 15911 24550 10806 32526 24035 3257