当前位置:首页 » 编程语言 » c语言数组赋随机值

c语言数组赋随机值

发布时间: 2022-12-16 00:29:16

1. 在c语言中,自定义一个数组,100个元素,对其进行随机赋值,数值范围为0~255。要求从小到大排序

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intmain()
{
intnumbers[100],i,j,temp;

srand(time(NULL));

//产生随机数
for(i=0;i<100;i++){
numbers[i]=rand()%(255+1);
}

//冒泡法排序
for(i=0;i<(100-1);i++){
for(j=0;j<(100-i-1);j++){
if(numbers[j]>numbers[j+1]){
temp=numbers[j];
numbers[j]=numbers[j+1];
numbers[j+1]=temp;
}
}
}

//输出
for(i=0;i<100;i++){
printf("%d",numbers[i]);
}

printf(" ");

system("pause");
return0;
}

2. C语言中怎么给数组赋随机值

看代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineN9
voidmain()
{
inti;
inta[N];
srand(time(0));//以时间为种子,每次生成不同的数
for(i=0;i<N;i++)
{
//生成[5,10]之间的整数
a[i]=rand()%6+5;//rand()生成数的范围在[a,b)写成:a[i]=a+rand()%(b-a);
}

for(i=0;i<N;i++)
printf("%d",a[i]);
puts("");

}



这里注意一下rand()需要生成数据的范围公式,即:

范围在[a,b)写成:a[i]=a+rand()%(b-a)

3. 如何用随机数给数组赋值

C语言的随机数函数为rand(), 该函数可以获得一个随机的整数。

所以用随机数给数组赋值的过程,就是把rand()的返回值赋值给数组每个元素的过程。

代码:

inta[10],i;
for(i=0;i<10;i++)
a[i]=rand();

4. c语言数组随机赋值且去重

//vs2013运行,根据条件如不可运行可添加#include"stdafx.h"

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#defineLEN8//数组的长度,可更改

/*返回数组类型,参数1传入数组,参数2数组长度,参数3,随机数的阈值(上限值)*/
int*arr_rand(intnums[],intn,intlim)
{
inti=0;
intj;
enummark{NO,YES};//由于vs2013不支持bool类型,我采取枚举类型代替
enummarkflag;
srand((unsignedint)time(NULL));
while(i<n)
{
nums[i]=rand()%lim;
if(i>0)
{
flag=YES;
for(j=0;j<i;j++)
{
if(nums[i]==nums[j])
{
flag=NO;
}
}
if(flag)
{
i++;
}
}
if(i==0)//放下边避免程序错误
{
i++;
}
}
returnnums;
}
//测试函数,如需使用则在main函数中arr_rand_t();调用即可
voidarr_rand_t()
{
intnums[LEN];
inti=0;
intlim=21;
arr_rand(nums,LEN,lim);
for(;i<LEN;i++)
{
printf("%d ",nums[i]);
}
}

5. c语言怎么定义一个数组并随机赋值

用随机数
srand( (unsigned)time( NULL ) );
for(i=0;i<=5;i++)//假设数组是5
{
a[i]=( rand()%100+1);
}
可以实现,记得包含头文件
time.h和stdlib.h

6. C语言数组随机赋值排序

#include <stdio.h>
#include <stdlib.h>
int cmp(const void* a, const void* b)
{
return *(int*)a - *(int*)b;
}
int main()
{
int k, i;
int* arr;
printf("请输入一个3位数作为一维数组的维数:");
scanf("%d", &k);
printf("生成随机数组:\n");
arr = (int*)malloc(k * sizeof(int));
for(i = 0; i < k; ++i)
{
arr[i] = rand();
printf("%d ", arr[i]);
}
printf("\n");
printf("排序后的数组:\n");
qsort(arr, k, sizeof(int), cmp);
for(i = 0; i < k; ++i)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}

7. C语言数组随机赋值

#include<stdio.h>

#include<time.h>
#define M 5
#define N 5
void main()
{ int a[M][N],*p,r,i,j,n;
srand((unsigned int)time(NULL));
p=a; for ( i=0;i<M*N;i++,p++ ) (*p)=0;
n=rand()%4+4; //决定生成几个-1,取值4~7
for ( i=0,p=a;i<n;i++ )
{ while ( 1 )
{ r=rand()%(M*N); //随机生成数组下标,取值0~M*N-1
if ( p[r]==0 ) break; //如这个下标已经被赋值过则重新选下标,否则退出循环
}
p[r]=(-1);
}
for ( i=0;i<M;i++,printf("\n") ) for ( j=0;j<N;j++ ) printf("%d ",a[i][j]);
}

8. c语言中为数组随机赋值

//刚写的,测试通过,如果有疑问,欢迎交流
//思路是,保存一个1-36顺序存放的数组,然后每次随机的从这个数组里
//无放回的取数(也就是取出来一个数之后,从这个数组中删除)
//并把取出来的数,放入e[i][j]
//这样保证了1-36都出现且都只出现一次
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
//从输出中删除一个元素
voidremove_tar(int*a,inttar_idx,intn){
while(tar_idx+1<n){
a[tar_idx]=a[tar_idx+1];
tar_idx++;
}
}
intmain(){
srand(time(0));
intnum_lib[36];
inte[6][6];
for(inti=0;i<36;i++)
num_lib[i]=i+1;
intn=36;
//洗牌的过程
for(inti=0;i<36;i++){
intcur_idx=rand()%n;
e[i/6][i%6]=num_lib[cur_idx];
remove_tar(num_lib,cur_idx,n);
n--;
}
//打印输出
for(inti=0;i<6;i++){
for(intj=0;j<6;j++){
printf("%d",e[i][j]);
}
printf(" ");
}
return0;
}

9. 如何 在c语言中 给数组赋随机值

#include<stdio.h>
#include<stdlib.h> //准备使用随机生成函数
#include<time.h> //为了给随机函数指定每次不同的种子值,准备使用时间函数
#define N 100
void main() { int a[N],i;
srand((unsigned int)time(NULL)); //取当前时间当随机数种子
for ( i=0;i<N;i++ ) a[i]=rand()%100+1; //生成随机数范围在[1,100]区间
for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n");
}
rand()函数生成随机数区间为[0,65535]
如果要生成[a,b]之间的随机数:rand()%(b-a+1)+a
rand()%100生成随机数范围[0,99]
rand()%100+1生成[1,100]

10. C语言调用随机函数为数组赋值

#include "stdio.h"
#include <stdlib.h>
#include <time.h>
int suiji(int *s,int d)
{
int i;

for(i=0;i<7;i++)
s[i] = ((rand() % d) + 1);
return 0;
}
void main()
{
int c[7]={0};
srand((unsigned)time(NULL));
suiji(c,100);
int i;
for(i=0;i<7;i++)
printf("%d ",c[i]);
}

热点内容
ftp服务器输入密码 发布:2025-01-24 05:27:41 浏览:209
电信帐号怎么改密码 发布:2025-01-24 05:11:22 浏览:846
笔记本x17配置怎么选 发布:2025-01-24 05:05:53 浏览:7
python如何封装 发布:2025-01-24 05:05:46 浏览:843
csgo怎么连接服务器 发布:2025-01-24 05:05:45 浏览:322
408哪个配置合适 发布:2025-01-24 05:01:54 浏览:882
oraclesql删除重复 发布:2025-01-24 05:01:12 浏览:408
少儿编程排行 发布:2025-01-24 04:40:46 浏览:698
搭建服务器怎么使用 发布:2025-01-24 04:19:34 浏览:444
平行进口霸道哪些配置有用 发布:2025-01-24 04:19:32 浏览:874