C语言中怎么返回一个数组回来

 我来答
就烦条0o
2017-01-16 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
           #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

int **GetData(int col,int row);
int GetCount(int **data,int col,int row,int num);
int *GetSelt(int **data,int col,int row,int num,int count);

void main (void )
{

int **data;

int *selt;


int col,row,count,maxn;


col=5;row=6;

maxn=55;


data=GetData(col,row);

for(int i=0;i<col;i++)

{

for(int j=0;j<row;j++)

printf("%d\t",*(*(data+i)+j));

printf("\n");

}


count=GetCount(data,col,row,maxn);


selt=GetSelt(data,col,row,maxn,count);


printf("=====================%d=====================\n",maxn);

for(int j=0;j<count;j++)

printf("%d\t",selt[j]);


printf("\n");
}
//生成数组
int **GetData(int col,int row)
{

int **p=NULL;


srand( (unsigned)time(NULL) );


p=new int*[col];

for(int i=0;i<col;i++)

{

p[i]=new int[row];

for(int j=0;j<row;j++)

*(*(p+i)+j)=rand()%100;

}


return p;
}
//获取大于某数的个数
int GetCount(int **data,int col,int row,int num)
{

int count=0;


for(int i=0;i<col;i++)

for(int j=0;j<row;j++)

if(*(*(data+i)+j)>=num) count++;


return count;
}
//获取数组
int *GetSelt(int **data,int col,int row,int num,int count)
{

int *p=new int[count];

int index=0;


for(int i=0;i<col;i++)

for(int j=0;j<row;j++)

if(*(*(data+i)+j)>=num) 

p[index++]=*(*(data+i)+j);


return p;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式