C的问题啊~~
1、第一条语句应该没问题,不清楚的可能是while循环开始。首先while语句先执行条件里的赋值,即i=k-1;这时i=18。并且条件为真。只要是不为零,都为真。因为条件里的是赋值语句而不是关系语句(是=号,而不是==号)。
2、我感觉很奇怪,devc++出来的结果是10010。
3、逻辑运算时,以0代表“假”,以非0代表“真”。而C编译时,系统给出的真用1代替,假用0代替。所以(-1)&&(-1)为真,如还是不清楚,就翻翻谭的C程序设计第二版的88页。
C语言怎么样产生随机数,比如从15到135之间的整数啊,最好旁边有讲解,这…
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。
但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。\x0d\x0a\x0d\x0a在工程应用时,我们一般将系统当前时间(Unix时间)作为种子,这样生成的随机数更接近于实际意义上的随机数。
C语言的获取随机数的函数为rand(), 可以获得一个非负整数的随机数。要调用rand需要引用头文件stdlib.h。要让随机数限定在一个范围,可以采用模除加加法的方式。
//用当前时间产生一个种子,这样,随机数的序列会随机 (2)产生随机数:用 rand()函数,产生随机数。
在c语言中要产生随机数可以用rand函数。默认情况下这个函数产生的随机整数的范围是[0,RAND_MAX]。RAND_MAX是一个预定义的宏,其值等于平台上int类型的最大值。
楼上这样得出的随机值不准确,不信你运行几次试试,都是同一个数。正确应该这样。
C语言产生1-13的随机数
1、\x0d\x0a\x0d\x0aC++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。
2、这样可以得到分布比较均匀的伪随机数。rand(),srand()函数位于stdlib.h文件中,取得时间的time()函数位于time.h文件中。
3、例如:test.cpp。在test.cpp文件中,输入C语言代码:for (int i = 0; i 10; i++)printf(%d , rand() % 100 +1);编译器运行test.cpp文件,此时成功通过rand产生了10个1-100内的整数。
用C语言如何实现从数组中随机取出任意7个数(7个数不相等)
//数据相同。} } if (flag == 1){ i–; // 重新 rand 赋值 continue;} } 这样数组就建好了。(没有写main函数)如果你要 计算有多少组七位数, 我建议你直接使用排列组合计算一下好了。和随机数没有关系。
随机产生一个数,然后每次将数组元素的最后一个数与这个数交换,并且数组的长度减1。
到底要取多少个是很重要的。 如果就取几个, 那碰上相同的冲取就可以了。如果要取很多很多, 那么重取的方案就不划算了。