1. c语言怎样返回二维数组元素

#include<stdio.h>
void main(void)
{
int b[100] = ; /*用于计数的数组,数值为x的由b[x-1]显示*/
int max , *p ,num = 0,k1,Line = 0;
int i ,j ,k ,c[5] = ; /*c数组保存前五个数量最多的数字,p用于后面的出现多个相同的频数的数组*/
for(Line = 0 ; Line <=900;Line+=100)
{
for( i = Line ;i<100+Line ; i++)
for( j = 0 ; j < 10 ; j++ )
b[ a[i][j] ]++; /*计数*/
/*下面找寻频率最高的5个数据,对b数组进行排序可以,不过排序后不再知道其原来的数据,要完成这个操作有两条路,一个是牺牲内存,即创造另外一个数组,进行排序,花费内存与b数组相同;二是多花时间,进行多次遍历搜索,下面采用第二种*/
for(j = 0; j<5;j++)
for(i = 0 ; i < 100 ; i++ )

max = 1;
k = 0;
if( max < b[i] && i!= lookup(i,c) ) max = b[i];/*lookup()函数的用法可以看一看*/
else if(max == b[i] ) k1++; /*当前最大值的数目自增*/
}
c[j] = max; /*保存第k大的元素*/
if(k1 != 0)
{ /*这里处理有相同的频率的几个数,我就不写了,内容是把这几个数都保存下来*/
j += k;
}
if(k + j > 4) break; /*最大的五个元素没有找到,楼主的题意有些没理清除,我认为是重新开始计数没错,这个所谓的求有多少次就是这个道理,寻找符合条件的,如果100行内前五中第五名有并列的(当然有可能是三个第四名之类),就不再进行后面的是否这五个元素均存在的判断了*/
else if(k + j == 4 )

for(k1 = 0 ; k1 < 5 ; k1++ )
if( find(c[k1],a[i+Line],10) ) ; /*原型find(int x,int y[],int z),在y数组中寻找与x值相同的元素,y数组大小为z,这个应该不是难点,寻找到则返回非零值,否则返回0值*/
else break;
if(k1 == 5) num++; /*全部五个元素均找到,次数增加1*/

}
}
printf("次数为%d",num);
}

2. C语言 如何返回一个二维数组

1、函数不能返回一个数组,只能返回一个变量,或地址 。如果你想直接返回一个二维数组,这是做不到的。可以用下面的方法 ,先建一个结构体。struct array{int a[3][3];}; array solve(){array a;return a;} 通过这种方法,来得到二维数组。

2、数组在作为函数返回值或者函数参数时,实际上只作为指针来返回或者传递的。因此返回值用指针数据类型。比如下面的代码:int g_a[4] = {1,2,3,4};
int * retn_arrary() //返回值用指针类型即要。
{
return g_a;
}

3. C语言中返回二维数组

arr是在运行栈上的,fun()执行完毕返回时,栈上的东西就都释放掉了。
所以要想返回二维数组,只能用malloc在堆上分配内存。

当然,调用fun()的函数要负责free释放内存。

4. c语言怎么返回二维数组

int(*)[3]creatmatrix(void)//二维数组只能这样返回类型
{
staticinta[3][3];//需要定义成静态才不会丢失
printf("peleaseinputdata");
for(inti=0;i<3;i++)
for(intj=0;j<3;j++)
{
scanf("%d",&a[i][j]);//----整数是%d
}
returna;
};

intmain()
{
int(*p)[3]=creatmatrix(void);
return0;
}

5. C语言函数如何返回二维数组

你这个二维数组要动态分配的才行,不然存储周期只在他的函数里面有效

6. 如何用指针方法返回二维数组C语言,请给例子。在线等。

其实数组没必要返回的,直接把数组名称(也就是指针)当做参数传到函数中,然后在函数中修改就可以了。在函数之外可以直接使用那个指针读取数组。如果非要返回,则返回指针即可。
很高兴为你解答!

7. C语言,函数中如何返回二维数组,用return和不用return两种方法

数组在作为函数返回值或者函数参数时,实际上只作为指针来返回或者传递的。因此返回值用指针数据类型。比如下面的代码:int g_a[4] = {1,2,3,4};
int * retn_arrary() //返回值用指针类型即要。
{
return g_a;
}

8. C语言中如何直接输出一个二维数组

c语言中直接输出一个二维数组是用数组来访问输出的,例子:

#include<stdio.h>
#defineM4
#defineN3
voidmain()
{
inta[M][N],i,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=3*i+j;

for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
printf("%d ",a[i][j]);//直接用数组来访问
printf(" ");
}

}

除了可以直接访问,也可以用指针来访问,用指针指向该数组,便可进行对数组的读写操作。

运行结果图:

9. C语言如何让函数返回二维数组

你本身传递的就是数组,并不需要返回数组,直接在你的函数内更改二维数组的值的就行了(注意,如果在是函数内创建的数组,再返回会有问题,出了函数这个变量就无效了),比如如下
#include<stdio.h>
void fun(int (*pIntPtr)[4]) {
*(*pIntPtr + 0)=20;//将a[0][0]改为20
*(*(pIntPtr+3) + 2)=30;//将a[3][2]改为30
}

int main() {
int A[4][4] = {{10,2,3,1},{12,4,5,1},{14,7,8,1},{15,9,2,1}};
int i,j;
fun(A);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%4d",A[i][j]);
printf("\n");
}
}

10. C语言函数中怎么返回一个二维数组

1、我们首先定义一个二级指针和一个行列变量[int ** array,row,column;]。