c语言如何随机取1个0~1之间的数字?

C语言中生成1个0到1的随机数可以执行语句:float b=rand()/(RAND_MAX+1.0);

解析:

标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;

用函数rand取得的随机数除以(RAND_MAX+1.0),即可确保得到的结果在0到1之间。ISO IEC 9899 2011 (C11)标准中未规定 RAND_MAX 的具体数值。但该标准规定了RAND_MAX 的值应至少为32767。编程的时候,不应该对 RAND_MAX 的具体数值做任何假设。

扩展资料:

相关说明:

1、因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机。

2、为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。

3、随机种子(Random Seed)是计算机专业术语,一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。

参考资料来源:百度百科-随机函数

参考资料来源:百度百科-RAND_MAX



  • C璇█鑾峰彇1-10涔嬮棿鐨闅忔満鏁颁负浠涔堢敤10.0鍜1.0???
    绛旓細杩欐槸鍥犱负(double)rand()/RAND_MAX鐨勫兼槸涓涓[0锛1锛変箣闂寸殑绾皬鏁帮紝鑰10.0*rand()/RAND_MAX鐨勫兼槸涓涓猍0锛10锛変箣闂寸殑灏忔暟 10.0*rand()/RAND_MAX+1.0鐨勫兼槸涓涓猍1.0锛11.0锛変箣闂寸殑灏忔暟 鍙栨暣浠ュ悗鐨勭粨鏋滃氨鏄1~10涔嬮棿鐨勬暣鏁颁簡銆傚叾瀹烇紝瑕佽繖鏍风殑鏁堟灉锛屼笉鐢ㄨ繖涔堝鏉傦紝鍙rand()%10+1灏...
  • 杈撳叆涓涓鏁存暟n杈撳嚭涓涓0鍒皀鈥1涔嬮棿鐨闅忔満鏁扮殑c璇█缂栫▼
    绛旓細include <stdlib.h>int my_rand() { int res=0, n; printf("input n:"); if(scanf(&n)==1) { res=rand()%n; } return res;}
  • 鎬庢牱鐢c璇█缂栫▼搴忚闅忔満浜х敓鐨勬暟鍦1~100涔嬮棿姹備唬鐮
    绛旓細include<stdio.h> include<stdlib.h> include<math.h> int main(){int i;srand(time(NULL));for(i=0;i<200;i++)printf("%5d",rand()%100+1);getch();}
  • 鎬庢牱鐢C璇█浜х敓闅忔満鏁,1-100涔嬮棿鐨
    绛旓細include <stdio.h> include include <stdlib.h> int main(){ srand((unsigned int)time(0));int a[20];for(int i = 0; i < 20; i++){ a[i] = rand()%100 + 1;printf("%d\n", a[i]);} return 0;}
  • 浣犲ソ,鎬庢牱鐢c璇█杈撳嚭涓涓1鍒100鐨闅忔満鏁
    绛旓細瑕佸彇寰梐鍒癰涔嬮棿鐨闅忔満鏁存暟锛屽彟涓绉嶈〃绀猴細a + (int)b * rand() / (RAND_MAX + 1)銆 瑕佸彇寰0锝1涔嬮棿鐨勬诞鐐规暟锛屽彲浠ヤ娇鐢╮and() / double(RAND_MAX)銆C璇█涓庢牱鎶婇殢鏈烘暟琛ㄦ墦涔憋紵鎴戣緭涓缁勯殢鏈烘暟锛堢敤rand鍑芥暟锛夛紝浣嗘槸姣忔杩愯鍙緭鍑涓涓鍊笺傛庝箞鍔烇紵 鍛靛懙锛屼笂闈袱浣嶇殑鍥炵瓟閮藉緢鏍囧噯锛屼絾鏄...
  • c璇█涓殢鏈鍑芥暟鎬庝箞鍙1~2x涔嬮棿鐨勬暟
    绛旓細锛僫nclude <stdlib.h> 杩欓噷闈㈢殑涓涓鏂规硶灏辨槸杩欐牱鐢ㄧ殑銆俛= rand()%100 杩欏氨琛ㄧず闅忔満鍙鍒0锛嶏紞100涔嬮棿鐨勬暣鏁 鎵浠ワ紝1锛2x 閭e氨 a= 1 + rand()%(2*x);灏監K浜
  • C璇█鎬庝箞浜х敓0-100涔嬮棿1涓殢鏈鏁
    绛旓細鍥犱负rand锛堬級浜х敓鐨勪吉闅忔満鏁 鍦╞=rand()%100;鍓嶅姞涓鍙rand(time(0)); 灏卞ソ浜
  • c璇█闅忔満鍑芥暟闅忔満鍙1-100涔嬮棿鐨勬暟100娆,缁熻鍚勬暟瀛楀嚭鐜扮殑棰戞暟骞惰緭鍑...
    绛旓細include "stdio.h"include "stdlib.h"incude "time.h"int main(){ int a[100]={0};int i,num;srand(time(NULL));for(i=0;i<100;i++){ num=rand()%100+1;a[num-1]++;} printf("1-100鐨勬暟 棰戞暟\n");for(i=0;i<100;i++)printf(" %d %d\n",i+1,a[i]);p...
  • c璇█涓浣杈撳嚭闅忔満鏁(1鈥斺100)涓煇鑼冨洿鏁板瓧(90_100)鍑虹幇鐨勬鏁癬鐧...
    绛旓細C璇█涓stdlib.h鍖呭惈浜涓涓彇闅忔満鏁扮殑鍑芥暟rand()鍜宻rand()锛屽厛鐢╰ime.h鏉ョ疆闅忔満鏁扮瀛恡ime(NULL)锛屽鏋滀笉鎳傛垜鍐欎釜绠鍗曠殑浠g爜鏉ヤ粙缁嶄竴涓嬶紝鍦╲c6.0涓氳繃锛歩nclude<stdlib.h> include<stdio.h> include int main(){ int a;srand(time(NULL));a=1+rand%100;//璧峰鍊兼槸1锛屾渶澶у兼槸100锛屽湪...
  • c璇█涓涓绠鍗闅忔満鏁伴棶棰
    绛旓細C璇█鐨勯殢鏈烘暟涓嶆槸杩欎箞鍙栧嚭鏉ョ殑 浣犺瀹炵幇浠1 2 3涓変釜鏁板瓧涓闅忔満鎶藉彇涓涓鏁帮紝鍏跺疄灏辨槸瑕佸疄鐜扮敓鎴愪竴涓彇鍊煎湪1~3鐨勯殢鏈烘暟 瀹炵幇濡備笅锛氶殢鏈鸿緭鍑哄崄涓1-2涔嬮棿鐨勬暣鏁 include <stdlib.h> include <stdio.h> include void main( void )int i,k;srand( (unsigned)time( NULL ) );for( i = 0;...
  • 扩展阅读:c语言生成1~100随机数 ... c语言生成真随机数 ... c语言生成十个随机数 ... c语言必背100代码 ... c语言自动生成器 ... c语言 随机生成0或1 ... 明明的随机数c语言 ... c语言怎么输出随机数 ... c语言产生100个随机数 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网