1樓:匿名使用者
#include
define n 4 //4可以換成其他的。
int main()
int i,j,m,n,k=1;
int a[n][n]=;
for(i=n;i>=0;i--)
m=i; /初始化m=i
for(j=0,n=0;jfor(i=0;ifor(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("");
2樓:
是4x4的矩陣麼?定義乙個二維陣列 arr[4][4]=,兩個for迴圈來遍歷。
for(i=0;i<4;i++)
for(j=0;j<4;j++)
printf("%d\t",arr[i][j]);
printf("");
樓主,剛學c麼??
3樓:網友
這個是不是遇到0就回車啊,那就簡單了啊。
#include
void main()
int i;
int array[16]=;
for(i=0;i<16;i++)
if(array[i]!=0)
printf("%d\t",array[i]);
printf("");
4樓:詩意人生的雅樂
用個迴圈,陣列下標%4==0後換行、
編寫乙個c程式,從鍵盤為5x5的乙個整型二維陣列輸入資料。最後輸出該二維陣列中的對角線元素
5樓:一嘆
首先根據程式的要求我們可以知道,我們要定義乙個二維陣列來儲存從鍵盤輸入的資料,同時要求我們輸出對角線的元素,我們可以得到對角線元素的行數值和列數值相等,所以說我們只需輸出行數值和列數值相等的元素還有行數值加列數為5的元素。
正確**:#include
int main()
int d[5][5];
int x=0, y=0;
for (x = 0; x < 5; x++)for (y = 0; y < 5; y++)scanf("%d", &d[x][y]);
for (x = 0; x < 5; x++)printf("%d", d[x][x]);
for (x=0;x < 5; x++)
printf("%d", d[4-x][x]);
return 0;
6樓:only釗
既然有答案了我就補充下和一維陣列是一樣的定義a第乙個是行第二個是列!按照一維的方法就能做了`
c語言二維陣列
7樓:網友
1,數字個數是9個,所以確定陣列t的下標為t[3][3];
2,t[3][3]懂得9個元素分別為,t[0][0] t[0][1] t[0][2]
t[1][0] t[1][1] t[1][2]
t[2][0] t[2][1] t[2][2]
注意,陣列位址的起始是從0開始的,也就是說t[3]的3個元素下標內應該是0 1 2,而不是1 2 3,請把陣列定義和陣列呼叫時下標區分開。
按照陣列初始化規則下標變化從右邊優先,按順序把值給相應的位址如下。
t[0][0]=; t[0][1]=; t[0][2]=;
t[1][0]=; t[1][1]=; t[1][2]=;
t[2][0]=; t[2][1]=; t[2][2]=;
從上面就可以看出每個元素的值了。
8樓:網友
這個你一看就是3列。
那麼你就可以看出。
t[1][2]=4 t[2][2]=1 t[0][2]=7 t[1][1]=5
9樓:網友
用二維陣列方括號內的最後乙個數值將整個陣列分隔開,再一一對應。
10樓:1024程式設計師
c語言陣列之二維陣列。
c語言二維陣列
11樓:1024程式設計師
c語言陣列之二維陣列。
c語言二維陣列的問題
12樓:網友
1 2 3 4
a[0][0]=1,a[0][1]=2,a[0][2]=3,a[0][3]=4
a[1][0]=6,a[1][1]=6,a[1][2]=7,a[1][3]=8
a[2][0]=6,a[2][1]=4,a[2][2]=5,a[2][3]=7
你應該乙個乙個標上就不會犯錯誤啦,你的書沒看透啊,書上這方面的知識都有,好好看書吧。書看透了就明白了。
13樓:匿名使用者
你的理解是正確的,書上的說法有誤。
14樓:網友
試著給解釋一下吧:
int i[3] = ;相信你明白它就是3個整數,乙個接乙個放在記憶體中。
我們假設有一種型別叫mytype,它佔用12個位元組。那麼我們也可以定義乙個陣列。
mytype a[2] = ;
它就是兩個mytype,乙個接乙個放在記憶體之中。
那麼我現在跟你講我需要第二個mytype的指標,那顯然應該是&a[1],或者a+1,沒錯吧?而a[1]或者*(a+1)是什麼呢?當然就是mytype啦。
好了,現在我們說清楚,這個mytype跟前面那個陣列i是一樣的,那麼這個定義就是:
int a[2][3] = ;
怎麼理解呢?a[1]是什麼呢?當然它是乙個int [3],即三個整陣列成的陣列,我們可以再加一重中括號來取它裡面的單個元素的值,即a[1][0]到a[1][2]分別表示4,5,6.
那現在你該明白a[1]也被看成位址了吧?a[1]也可以寫成*(a+1)。
且慢,a+1和*(a+1)都是位址,那它們是一樣的嗎?我跟你講,它們的值是一樣的,不信你可以printf出來看看。但是,它們的含義又是不一樣的,如果你把它們加1的話,a+1+1會被編譯器處理成a+2,即&a[2],它已經剛好越界了。
但是*(a+1)+1會被編譯器處理成a[1]+1,即&a[1][1],它指向第二個陣列的第二個元素(5)。
所以總結起來就是它們都是位址,但是編譯器知道它們是不同的含義,在增量的時候所步進的量是不同的。
如何用C語言輸出3 3的矩陣,C語言程式設計 二維陣列 輸出一個2 3的矩陣
include define n 3 void fun int a n int m int i,j for i 0 i n i for j 0 j i j a j i a j i m int main int i,j int a n n printf input a number n for i 0...
c語言矩陣轉置運用二維陣列和指標
形參int a n 和int a n 在編譯時都被解釋為 a是指向長度為n的一維陣列的指標 所以函式體內的操作可以二者完全一樣。就是說如果你這個函式是正確的的話,把第一個形參改為int a n 其餘不變就是完全正確的。所以這沒有什麼新的意義,這裡就不費筆墨了。至於改為形參int a,那得稍費周折,因...
c語言二維陣列問題
寫完以後我發現有點長,樓主給點耐心看,不懂我們再交流 a是整個二維陣列的首地址,short長度為2,sizeof a 2 5 5 50 a 1指向二維陣列的第二個元素,它僅僅是一個指標,如果在a 1前面加一個 號,就是第二個元素的值,即a 0 1 所以,a 1是一個指標,它指向二維陣列中的某個數,指...