C++怎么让a被赋值成一个1-100的随机数

作者&投稿:夔肾 (若有异议请与网页底部的电邮联系)
C++生成10个0-100之间的随机数 怎么都是1???~

因为我是用VC2010编译的可能有些不一样,VC10的话头文件要有这个#include ,否则提示time未定义。然后看你的程序其实在出在一个问题输出A[3][4]只是一个元素所以要改成a[i][j];
然后的话题外话,下面的循环可以和上面的合在一起呵呵,然后其实还有一个问题其实你这样的二维数组会产生12个随机数和你的目的不符合,建议1维的就行了。

可以使用两种方式初始化一个随机数发生器:
第一种方法不指定随机种子,系统自动选取当前时间作为随机种子:Random ro = new Random();
第二种方法可以指定一个int型参数作为随机种子:int iSeed=10;Random ro = new Random(10);long tick = DateTime.Now.Ticks;Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32));这样可以保证99%不是一样。
之后,就可以使用这个Random类的对象来产生随机数,这时候要用到Random.Next()方法。这个方法使用相当灵活,甚至可以指定产生的随机数的上下限。
不指定上下限的使用如下:int iResult;iResult=ro.Next();
下面的代码指定返回小于100的随机数:int iResult;int iUp=100;iResult=ro.Next(iUp);
而下面这段代码则指定返回值必须在50-100的范围之内:int iResult;int iUp=100;int iDown=50;iResult=ro.Next(iDown,iUp);
除了Random.Next()方法之外,Random类还提供了Random.NextDouble()方法产生一个范围在0.0-1.0之间的随机的双精度浮点数:double dResult;dResult=ro.NextDouble();

可以借用模除函数来实现。

模除也就是取余,其可以通过%n的方式,把值限制于0~n-1的范围内,对于1-100这个需求,可以模除100,将值限制在0~99后,再将结果加一即可。

同时,为了使结果更随机,需要设置srand,即随机数种子。一般采用获取当前时间作为种子。

于是代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    int a;
    
    srand(time(NULL));//设置随机数种子,使每次运行获取到的随机数值不同。
    a = rand()%100+1;//获取1-100的随机数。
    printf("a = %d
",a);//输出。
    return 0;
}


a = 1 + rand() % 100;

C++中随机函数rand。
rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。
这样,如果你要产生0~10的10个整数,可以表达为: int N = rand() % 11;
这样,N的值就是一个0~10的随机数,
如果要产生1~10,则是这样: int N = 1 + rand() % 11;
总结来说,可以表示为: a + rand() % n 其中的a是起始值,n是整数的范围。

a=rand()%100+1;就可以了;
rand函数就是产生一个随机数,你用这个随机数对100取余得到了0-99之间的随机数,加1就是1-100了,这个思想很常用哦

#include <stdlib.h> /*用到了srand函数,所以要有这个头文件*/   
#include <stdio.h>   
#include <time.h> /*用到了time函数,所以要有这个头文件*/

void main()
{
int a;
srand((unsigned)time(NULL));
a=rand()%100+1;
printf("%d\n",a);
}

int x,a;//定义2个整型变量
srand(time(0));//以时间为种子,产生随机数
a=1+(int)(rand()%100);//产生0~99之间的随机数


怎么给char a[]赋值
s是指针变量,本身是个地址值,将一个地址值赋值给字符数组,是不会成功的~~一般用字符指针保存字符串,你可以这样用定义char a[]="gsdg";char *p=a;然后通过指针来操作。。。

在字符串中 怎么给一个char a[]赋值成\\ ' 这样的特殊字符?
char a[]="\\\\\\'"; 给数组a初始化为由\\及'组成的字符串,a的元素个数为3,三个元素值分别为:\\,',\\0。

定义一个long *a;怎么给它赋值1
long *a 定义的是一个Long类型的指针。他的值应该是一个地址,而不应该直接给他赋值为1.可以这样做 long b = 1;long * a;a = &b;然后*a的结果就是1 了。但a的内容是变量b的地址。

假设变量a='35',语句a=int()使变量a的值变为了整数35?
否则变量a的值不会改变。例如:```python a = '35' # a的值为字符串'35'a = int(a) # 使用int()函数将a转换为整数,并重新赋值给a print(a) # 输出整数35 ```在这个例子中,使用int()函数将字符串'35'转换为整数35,并将结果赋值给变量a,从而使变量a的值变为整数35。

若有语句char a;若要将字符a赋给变量a,则赋值表达式为?
赋值表达式为: a='a';

matlab怎么给多个变量赋值,例如有向量k=[1,3,5],现在要让[a,b,c]=...
[a,b,c]=deal(1,3,5)

python怎么给A到Z赋值1到26
回答:alphabet='ABCDEFGHIJKLMNOPQrsTUVWXYZ' alphabet_dict={} for i in range(len(alphabet)): alphabet_dict[alphabet[i]]=i+1 print(alphabet_dict)

c语言中a-=a是什么意思
a-=a的意思为a=a-a,先用a减a,然后再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。

学生综合素质表格怎么设置 A赋值4,B赋值3
=if(A1="A",4,3)

所以a只能被赋值为0或者1,是吗
如果a是bool类型的话,是的。

洋县17781358545: 【小白】请教..c++怎么给一个char* a[10]赋值? -
运将先倍: 在指针数组之前,先定义一个普通数组,用普通数组给指针数组赋值,程序段如下:char s[10]; char *a[10]; for(int i=0;i<10;i++) a[i]=&s[i];

洋县17781358545: c++中如何把得到的值依次赋值给一个数组 -
运将先倍: int a[10]; //你要赋值的数组 for(int i=0;i{ int result;//比如是你得到的那个值 a[i]=result; } 就ok 了 望采纳

洋县17781358545: C++ 动态数组赋值 -
运将先倍: 首先你问这问题根本就不懂初始化和赋值的区别,还有就是“动态数组赋值“这是你自己发明的词吧,我工作6年了没听说过有这么个东西!!!int a[]={10,9,8};(这个不是赋值,这个是初始化,int这个类里自己定的方式) 和int a[3]; a[0] = 10; a[1] = 9; a[2] = 8;(这个才叫赋值) int *a = new int[3]; new了后就已经被初始化过了,所以不能像上面那样写,你可以用memcpy和memmove,或者for循环,或者单独赋值,或者你自己写个操作符重载也可以,呵呵

洋县17781358545: 将二维数组 A 中的 100 个元素分别赋给一维数组 B 的每个元素并打印出来,要求把 A(1,1)到 A(1,10)依次 -
运将先倍: Dim A(1 to 10,1 to 10) As Integer,B(1 to 100) As Integer '小标都是从1开始 Dim i as Integer,j As Integer For i=1 to 10 For j=0 to 10 A(i,j)=rnd*100 '随机初始化数组A Next Next For i=1 to 10 For j=1 to 10 B(j*i)=A(i,j) '将二维数组元素放入一维数组 ...

洋县17781358545: 在C/C++语言中a==10,10==a在编译的时候有什么不一样? -
运将先倍: 如果是判断 都是写if(10 == a) 因为这样 你不小心写成了 if(10= a)编译器会给出错误, 但是你写 if(a=10) 就是赋值了,编译器不会发出错误, 这种错误也不好找

洋县17781358545: c++如何将数组全部赋值为1 -
运将先倍: 首先memset不是像看上去那样.它是在内存中将每一位全部赋值成第二个参数.所以如果不是要批量赋值0或-1的话最好还是不用这个.如果是要将数组全部赋值为1,可以用循环赋值.这样不仅不会出错而且会比使用函数快

洋县17781358545: 在C++中a=1与a(1)有什么区别? -
运将先倍: a=1:就是把1这个值赋给a这个变量,使得a变成1. a(1):a()这是个函数,这个里面的赋值是赋给这个函数的,我举个例子 好比a()这个函数里面写了一个 表达式:(c+c)*(c+5),那这个a(1)后面的结果就是12这样应该够明白的了吧....

洋县17781358545: c++赋初值的问题 -
运将先倍: 无论是静态,局部还是全局数组只有在定义时才能初始话,否则必须通过其它方法,比如循环操作实现. char a[10]; 怎么给这个数组赋值呢? 1、定义的时候直接用字符串赋值 char a[10]="abc";; 注意:不能先定义再给它赋值,如char a[...

洋县17781358545: c++创建一个对象数组,用循环的方式赋值? -
运将先倍: 数组赋值时下标从0开始直到n-1,不是从1到n;自增时采用i++形式 for(int i=0;i<10;i++) a[i]=i;

洋县17781358545: 用C++编写一个程序:如何让电脑从1到10中随机抽取一个数字 并最终输出该数字. -
运将先倍: 要取得[a,b)之间的随机整数,使用(rand() % (b-a))+ a 或者(rand() * (b-a)) / RAND_MAX + a.假设我们要取得1~10之间的随机整数:#include <stdlib.h> #include <time.h> #include <iostream.h>void main() {int ran_num;...

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