❶ 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函數提供不同的種子值,進而產生不同的隨機數序列。