怎样 在c语言中随机的输出1-53这几个数?

作者&投稿:湛文 (若有异议请与网页底部的电邮联系)
c语言中?:和!是什么意思,怎么运用在编程中~

?:的意思是条件运算符,使用的格式如下(条件)?A:B,如果条件成立,表达式的值就是A,否则是B。
!的意思是用来取非运算的,!true的结果就是 false !false 的结果是 true。
写程序中,?:用的比较少,!主要用在条件判断中。
延展回答:
1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

?:的意思是条件运算符,使用的格式如下(条件)?A:B,如果条件成立,表达式的值就是A,否则是B。
!的意思是用来取非运算的,!true的结果就是 false !false 的结果是 true。
写程序中,?:用的比较少,!主要用在条件判断中。
延展回答:
1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

需要对获取过的随机数保存记录,在每获取一个新的随机数时,先判断是否获取过。

如果获取过,那么抛弃;否则输出,并保存记录。

当全部数据均输出后结束程序。

代码如下:

int main()
{
    int f[54]={0};
    int n;
    int i;
    srand(time(NULL));
    for(i = 0; i < 53; i ++)
    {
        n = rand()%53+1;
        if(f[n])i--;
        else
        {
            printf("%d,",n);
            f[n] = 1;
        } 
    }
}


用标准库中的rand()和srand()两个函数,然后想得到哪个区间的随机数,只需再求余就行。建议种子用时间作为种子。

#include <stdlib.h>
#include <stdio.h>
const int MAX = 20;
int main()
{
int elements[MAX];
int temp;
for( int i = 0; i < MAX; i++)
{
temp = rand()%54;
if( temp == 0)continue;
element[i] = rand()%54; //关键是取模
}
for( int i = 0; i < MAX; i++)
{
printf("%d ",elements[i];)
}
system("PAUSE");
return 0;
}

用rand()函数即可啊.

(1) rand()函数:
原型: int rand(void)
功能: 产生从0到RAND_MAX(0x7fff)之间的随机数。
头文件: stdlib.h
例:
#include <stdio.h>
#include <stdlib.h>

int main()
{
int k;
k = rand();
printf("%d\n", k);
return 0;
}
编译运行,发现他的确产生随机数了,但是,每次运行程序产生的随机数都是一样的,为什么呢?因为随机数取在C语言中采用的是固定序列,所以每次执行所取的是同一个数。那么如何写一个程序,让它每次运行时产生的随机数都不一样呢?往下看:

(2)srand()函数:
原型: void srand(unsigned seed)
功能: 产生随机数的起始发生数据,和rand函数配合使用
头文件: stdlib.h time.h
例:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int i;
time_t t;
srand((unsigned) time(&t));
printf("Ten random numbers from 0 to 99\n\n");
for (i=0; i<10; i++)
printf("%d\n", rand()%100);
return 0;
}

这时运行程序,会发现每次产生的随机数都不一样。这是因为这里采用了时间作为种子,而时间在每时每刻都不相同,所以就产生了"随机"的随机数了。所以,要想产生不同的随机数,在使用rand之前需要先调用srand。这样做相当麻烦,有没一个更简单的函数呢?往下看:

(3)randomize()函数:
原型: int randomize(void)
功能: 通过time函数来得到一个随机数
头文件: stdlib.h time.h

该函数就相当于srand((unsign)(time(NULL)) 不过应注意的是randomize()的功能要通过time来实现所以在调用它时头文件要包含time.h。

(4)产生一个X到Y的随机数:
由于rand产生的随机数从0到rand_max,而rand_max是一个很大的数,那么如何产生从X~Y的数呢?
只要这样写:
k=rand()%(Y-X+1)+X;
这样,就可以产生你想要的任何范围内的随机数了。


河西区19147352296: 怎样 在c语言中随机的输出1 - 53这几个数? -
裘蓓恒迈: 需要对获取过的随机数保存记录,在每获取一个新的随机数时,先判断是否获取过.如果获取过,那么抛弃;否则输出,并保存记录.当全部数据均输出后结束程序.代码如下:int main() { int f[54]={0}; int n; int i; srand(time(NULL)); for(i = 0; i < 53; i ++) { n = rand()%53+1; if(f[n])i--; else { printf("%d,",n); f[n] = 1; }} }

河西区19147352296: 怎样 在c语言中随机的输出1 - 53这几个数?
裘蓓恒迈: (1) rand()函数: 原型: int rand(void) 功能: 产生从0到RAND_MAX(0x7fff)之间的随机数. 头文件: stdlib.h 例: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; int main() { int k; k = rand(); printf("%d\n", k); return 0; } 编译运行,发现他的...

河西区19147352296: c语言怎么让他输出1到3里随机的一个数 -
裘蓓恒迈: rand()%3;

河西区19147352296: C语言如何随机输出一个字符串? -
裘蓓恒迈: 随机输出一个字符串,其实就是要随机生成一个字符串并输出. 要实现这一点,可以通过rand函数来实现. 具体示例代码如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21#include <stdio.h> #include <stdlib.h> #include <time.h>#...

河西区19147352296: C语言怎么产生30 - 100的随机数? -
裘蓓恒迈: 利用C提供的伪随机数产生函数rand实现.为了获得“逼真随机”效果,随机数产生前应当用当前时间值调用库函数srand来设定伪随机数产生器的初始值(常称下种子).rand函数默认生成0~32767的随机数,为达到题设30~100的要求,要将...

河西区19147352296: 怎样用c语言将一个文件中的内容随机输出 -
裘蓓恒迈: 1. 该文件是什么类型的文件,txt文本型的还是二进制的? 2. 随机是指随机其中一段内容,还是随机单个字符? 3. 输出到哪?屏幕?GUI软件界面? ------------------------------------------------- 以后问问题请详细描述你的需求,你做了什么,你那边的场景是什么.

河西区19147352296: c语言随机函数 -
裘蓓恒迈: 思路: 有两种方法: 1. 直接随机生成 6 个 7~33 范围内的数.操作简单,但可能会生成重复数据; 2. 将指定范围内的数据保存在一个数组里面,然后随机生成数组下标,根据下标来选择目标数据.每选出一个数据,一定要记得把选中的那个位...

河西区19147352296: c语言一个简单随机数问题 -
裘蓓恒迈: C语言的随机数不是这么取出来的 你要实现从1 2 3三个数字中随机抽取一个数, 其实就是要实现生成一个取值在1~3的随机数 实现如下: 随机输出十个1-2之间的整数 #include <stdlib.h> #include <stdio.h> #include <time.h> void main( void ) int i,...

河西区19147352296: 用简单c语言,随机输出17张扑克牌,包括花色.大小王也要随机. -
裘蓓恒迈: 1、C语言提供了一些库函数来实现随机数的产生.C语言中有三个通用的随机数发生器,分别为 rand函数, random函数, randomize 函数 但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基...

河西区19147352296: C语言怎样输出一组随机数据 -
裘蓓恒迈: 嗯~ 代码诠释一下#include <stdio.h>#include <time.h>#include <stdlib.h>#define N 10 main() { int a[N],i,j; srand(time(NULL)); for(i=0;i<N;i++) { do { a[i]=rand()%100+1;//随机数 for(j=0;j<i;j++) if(a[j]==a[i]) break; }while(j<i); } for(i=0;i<10;i++) printf("%4d",a[i]); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网