首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

【关于rand()函数的疑问】解决办法

2012-05-16 
【关于rand()函数的疑问】这个可以产生随机数的函数书上和百度百科里都说 “rand()函数产生0到1之间的随机数”

【关于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


3 8145 13725 15696 31712 27749 20139 8967 12377 13668 31410 23336 24467 31772 60
39 26260 30527 26251 9775 10844 20855 2676 14594 13177 14753 28338 16463 25277 1
4487 14029 22352 5385 27653 11467 30398 7105 27922 7496 12440 6525 2626 14793 22
817 5889 22682 30030 16680 25712 24582 3878 25995 6844 26361 16391 14334 20833 8
531 15710 25865 23635 18055 1764 15184 9780 21245 12914 6167 31435 30901 10774 3
2005 21938 814 4198 13096 2382 12934 16148 7994 20996 20962 5059 11043 10666 334
4 32537 26814 28476 18795 2582 20960 14033 1535 17828 18839 21965 1774 22639 170
71 32599 20499 7926 12155 1294 13028 4579 7890 4087 29597 26263 10839 26042 1884
3 7690 6653 3599 16133 30162 24779 27763 13234 28545 22237 8735 1863 25140 21676
 19514 11936 19049 5007 29262 14450 19473 30593 14585 1326 6887 9764 11493 13864
 15615 3846 14841 6136 23458 18723 8913 3104 5721 27052 3180 13808 3144 14343 29
221 28327 4029 25367 5605 17627 14345 7101 16534 2843 17807 14495 26331 14802 30
98 18216 1534 10350 22388 11728 19754 25026 32308 17309 26330 6057 5847 233 3035
3 31213 786 11623 7884 29799 17767 12129 9012 6247 21751 24643 31513 13654 25495
 2653 26652 25753 18981 29669 25899 3257 3869 6971 435 8129 15207 2161 32016 637
6 29043 22539 13897 32112 31368 25347 17402 25806 15961 10257 18577 19467 22746
23081 22205 14442 16977 14404 31268 27979 15792 4707 14421 14671 290 8145 7677 7
869 19684 2729 11357 23333 25686 21657 15099 4675 7506 30949 8600 8229 31164 285
91 15971 22160 32602 30325 11372 10657 16870 16859 15963 4016 21346 31915 4450 6
265 3756 14362 19568 32638 28754 12621 24488 15783 29095 4123 22545 24108 6679 7
89 7055 6836 15031 23747 8466 703 2080 5681 30989 12865 1662 23210 14890 23439 3
1716 196 9788 10367 23779 5277 7028 14027 26458 22371 9689 13239 24463 22554 176
50 23284 9087 2457 14789 23747 2163 31190 28934 28510 14036 3684 23944 3987 3078
4 27194 22263 13490 11229 24758 20681 31657 21742 6626 32114 3438 30628 19445 12
759 17565 14390 11805 7430 22115 28724 2171 10276 666 11800 1391 4774 3893 21278
 10263 7877 4831 17237 3090 25131 21215 23542 21130 3827 14399 9205 24689 18640
8237 27351 21002 23180 2977 18883 18348 24501 29248 15067 28611 13971 15489 1505
3 29207 20060 10510 10404 8273 9643 8557 22501 4027 3375 16863 2263 71 672 6280
15138 13523 14328 24529 3739 8363 6879 14347 9823 3663 28775 9301 16927 9079 227
77 20159 442 26197 20624 22447 1809 10266 32548 13444 27159 30907 28010 24954 13
095 2037 29114 27341 20379 6031 26960 4386 13466 25311 4536 3362 9265 8079 5764
13928 18597 31649 10048 4509 6664 15537 10664 2529 16907 25722 23576 22893 29203
 32412 31811 25975 24463 31645 17960 4438 23176 15661 24386 19687 12921 14254 51
1 25135 23906 19699 32116 17986 5400 17480 23887 29027 24287 947 19981 620 12602
 28282 4461 12657 11266 3301 5924 21920 5814 24901 3538 619 6418 3637 53 32746 2
5059 12832 21148 8826 12313 7172 13471 17835 29214 15733 23310 28249 28518 32228
 5671 22552 12360 21281 6156 29142 6156 17183 32628 3515 25925 13048 31392 18516
 3169 10032 5777 27377 8318 22846 3704 19787 15999 17992 12142 31338 11871 6959
9317 7366 11974 8651 15966 30125 7898 4984 3293 25572 31320 29905 23194 15761 23
523 24251 25210 344 31132 22694 20669 8901 20466 10255 25721 30186 28348 14665 1
7735 32329 7301 1406 24892 9460 17446 6641 26395 6642 24731 9349 12488 25829 233
11 10627 12800 26858 3897 18072 16200 24513 27115 10013 16675 4142 21992 3483 10
120 17310 27383 5775 12691 16142 4917 6250 23931 17193 6831 17628 5316 22448 238
56 28498 26806 26143 1624 7358 29453 26510 6126 16534 12018 10709 10871 19231 24
106 28659 7176 27883 20110 29105 8536 13216 5051 32386 27929 25596 2314 18350 24
969 13590 12227 5551 68 20711 15757 27867 3164 15880 28457 25924 4779 5821 29536
 14813 19560 12595 570 21214 4089 7430 29809 20329 17416 6662 28453 21101 2265 2
7707 30673 5835 3035 12583 1150 3767 14717 6730 23607 4705 16706 12524 23484 250


45 8216 1814 29307 32288 9446 31202 27579 7605 9060 26868 22555 16399 18735 1865
 11067 9367 18717 10544 25017 10439 20685 13205 17247 20880 31875 4229 5530 1017
 15667 19695 21038 12554 25820 17320 13865 30952 19736 31154 15637 2369 19440 40
30 23666 15082 27380 27887 4964 12999 5260 1761 8872 2540 11145 27370 204 16641
16639 27808 24224 747 23639 7579 20456 31401 2464 29308 27731 16507 8742 14637 3
1921 8778 838 17515 2144 19268 10112 28802 22279 3783 21966 25944 14983 23168 23
348 14765 13615 5076 665 23457 20528 25726 16085 25207 13904 14970 15115 11672 2
6338 32546 17721 29915 5365 18840 18189 11779 1740 4195 16635 27530 2446 7773 31
628 6301 19775 20172 25337 13927 15599 21711 16632 32402 10033 4604 18646 3851 1
9151 16455 10694 774 7100 29477 7033 7491 21578 13298 6382 26511 9885 15760 1575
6 27533 8800 6994 30830 26806 8886 12056 2558 11167 22644 25275 32709 27258 1754
9 2219 8833 19168 14030 12246 2680 29902 9419 28364 19981 22253 27929 27169 3240
1 22 23229 6675 26459 12821 31973 4973 17179 4525 9942 22444 23403 6109 11302 28
767 18087 10338 11563 22996 14335 29053 1971 240 5578 30966 16373 22623 18973 31
329 30152 18670 413 31392 14867 308 19601 13481 22661 26744 22076 17290 27014 14
543 9833 11690 16493 1157 8519 13649 2547 10942 14711 4714 12007 32605 2148 3111
2 20260 10789 16595 5160 26817 286 12219 20022 32647 25147 16214 7378 22696 2053
7 12408 8787 7853 22218 32288 21388 433 31219 8012 591 10189 13491 6930 28976 46
7 19173 8941 21643 22591 29287 10069 25801 9322 6012 6802 26078 2561 16495 21969
 18454 1206 21626 21624 17938 7733 18917 14775 9229 16474 32626 21599 29797 3062
5 17657 5368 1366 14814 22352 10766 23560 1326 21357 14027 24780 27437 25807 224
75 8354 23657 13082 27179 18432 18455
max = 32767 min=0
Press any key to continue

找到最大值最小值分别为 32767 0  

 

这样就对了 例如要求 0-8的随机数

 

那么 0-32767 和9取余

 

0 - 8 OK 没问题
 



[解决办法]
结了吧 没人理

热点排行
Bad Request.