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;]。