当前位置:首页 » 编程语言 » c语言产生随机二维数组
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言产生随机二维数组

发布时间: 2022-07-08 14:11:14

c语言产生随机二维数组并求每一行的最大值最小值和平均值,那怎么把最大值最小

把这个二维数组看作是每一行是一维数组的一维数组。
先写一个对第i 行的一维数组求最大值,最小值和平均值的程序,然后在外面加一层循环,穷举二维数组的每一行就可以了。

❷ C语言:随机情况的二维数组,想了做了二个晚上!拜托

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
unsignedchar**pixel;
intm,n;

voidauto_input()//自动赋值二维数组
{
inti,j;
srand((unsigned)time(0));
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
pixel[i][j]=rand()%50;
}
}
printf(" 二维数组自动赋值完成!");
}

voidmau_input()//手动赋值二维数组
{
inti,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
printf("pixel[%d][%d]=",i,j);
fflush(stdin);
scanf("%d",&pixel[i][j]);
}
}
printf(" 二维数组手动赋值完成!");
}

intmain()
{
inti,j;
printf("inputMN:");
scanf("%d%d",&m,&n);
pixel=(unsignedchar**)malloc(sizeof(unsignedchar*)*m);
for(i=0;i<m;i++)
{
*(pixel+i)=(unsignedchar*)malloc(sizeof(unsignedchar)*n);
}
intselect;

while(1)
{
system("cls");
intinput_success=1;
printf(" 请选择手动还是自动初始化二维数组?【1:自动,2:手动】:");
fflush(stdin);
scanf("%d",&select);
switch(select)
{
case1:
auto_input();
break;
case2:
mau_input();
break;
default:
input_success=0;
}
if(input_success==1)
{
break;
}
}
for(i=0;i<m;i++)//输出二维数组
{
printf(" ");
for(j=0;j<n;j++)
{
printf("%02d",pixel[i][j]);
}
}
//找最大最小值
unsignedcharmax=pixel[0][0],min=pixel[0][0];
for(i=0;i<m;i++)
{
for(j=1;j<n;j++)
{
if(max<pixel[i][j]) max=pixel[i][j];
if(min>pixel[i][j]) min=pixel[i][j];
}
}
printf(" 最大值:%d最小值:%d",max,min);
//没明白password_a_b什么意思,number怎么来的
return0;
}

❸ C语言中如何产生随机的二维数组的坐标

使用随机函数即可产生随机数。

1、C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为rand函数,random函数,randomize函数

2、但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是voidsrand(inta)。

3、在调用rand函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。

举例:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inta[10][2];
inti,j,x,y;
srand(time(NULL));/*随机数种子*/
for(i=0;i<10;i++)
for(j=0;j<2;j++)
{
a[i][j]=0+rand()%10;/*产生0到10(不包括10)之间的随机数*/
}
printf("输出元素: ");
for(i=0;i<10;i++)
for(j=0;j<2;j++)
{

printf("a[%d][%d]=%d",i,j,a[i][j]);
if((j+1)%2==0)
printf(" ");
}
getchar();
return0;
}

❹ C语言,生成二维数组随机数

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
srand(time(0));
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
int a=rand()%10;
printf("%5d",a);
}
printf("\n");
}
return 0;
}
只要求输出的话不用把数存起来吧

❺ C语言中怎样产生随机数并传入二维数组

#include <stdio.h>
#include <conio.h>
void main(){
int i,j,a[10][10];
srand((unsigned)time(NULL));
for(i=0;i<10;i++)
for(j=0;j<10;j++)
a[i][j]=rand();
for(i=0;i<10;i++){
for(j=0;j<10;j++)
printf("%6d ",a[i][j]);
printf("\n");
}
}

❻ c语言如何随机生成一个二维数组

a[i][k]=float(rand()%10);

改成

a[j][k]=float(rand()%10);

你的j写成i了。。。。。。。

❼ c语言随机产生100个数为二维数组,求出数组位置和最大值

如下


#include
#include
#include
void main()
{
int b[10][10],max,i,j,k,mi,mj;
srand( (unsigned)time(NULL) );
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
b[i][j]= rand()%90+10;
printf("b[%d][%d]=%d ", i,j, b[i][j]);
}
}
//先产生100个随机数再赋值给数组


max=b[0][0];mi=0;mj=0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)

if( max<b[i][j])
{max=b[i][j];mi=i;mj=j;}
}

printf("最大数为b[%d][%d]=%d",mi,mj,max);
return 0;
}

❽ C语言编程,如何自动生成一个二维数组

程序主要通过malloc函数动态生成数组,srand和rand函数配合生成随机数据,代码如下,
//程序功能,实现自定义m*n二维数组,随机生成给定范围max-min的数组元素
#include<stdio.h>
#include <stdlib.h>
#include <time.h>

void main()
{
int i=0,j=0;
int m=0,n=0;//数组维数
int max=0,min=0;//数组数据范围
int **p=NULL;//二维指针,存放m*n个元素
int tmp;
printf("请输入数组维数m和n:");
scanf("%d %d",&m,&n);
printf("请输入数组元素最大最小值max和min:");
scanf("%d %d",&max,&min);
if(max<min)//保证max大于min
{
tmp=max;
max=min;
min=max;
}
p=(int**)malloc(m*sizeof(int*));//先分配m个一维指针
if(NULL==p)
exit(1);
for (i = 0; i < n ; i++)
{
p[i] = (int*)malloc(n*sizeof(int));//为m个一维指针分配n个整型大小的空间
if (NULL==p[i])
exit(1);
}
srand(time(NULL));
for(i=0;i<m;i++)
for(j=0;j<n;j++)
p[i][j]=rand()%(max-min+1)+min;
printf("%d*%d二维数组为:\n",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",p[i][j]);
printf("\n");
}

for (i = 0; i < n; i++)
{
free(p[i]);
p[i]=NULL;
}
free(p);
p=NULL;
}

void *malloc( size_t size );如果分配成功则返回指向被分配内存的指针,指针指向一个大小为size的内存空间;如果错误发生返回NULL。
一般srand和rand配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。