c語言數(shù)組逆序輸出 用C語言編寫一個3x3的二維數(shù)組,求對角線的和?
用C語言編寫一個3x3的二維數(shù)組,求對角線的和?#包含“stdio。H“int main(){int ar[3][3],afor(int i=0I<3i)for(int j=0j<3j){sc
用C語言編寫一個3x3的二維數(shù)組,求對角線的和?
#包含“stdio。H“
int main()
{
int ar[3][3],a
for(int i=0I<3i)
for(int j=0j<3j)
{
scanf(%d”,&AR[i][j])
if(i==j | i,j==2)//查找不同長度對角線的規(guī)則
a=ar[i][j
}
]printf(“對角線之和為%d”,a)
求4行4列的二維數(shù)組對角線上元素的和。用C語言做,謝謝啦?
]#包括和ltiostream。H>
void main()]{
]int A[4][4],I,J,n=3,sum=0
cout<<“輸入行號,列號n”<<endl
CIN>>N
for(I=0I<ni)
for(J=0j<nj)
{t
CIN gt>>A[n][n
]if(I==J)
sum=A[I][J
}cout<“sum=”<<<<endl
}
從底層實現(xiàn)來看,無論是一維數(shù)組、二維數(shù)組還是多維數(shù)組,它們都排列在一維內(nèi)存中。用一維陣列模擬多維陣列。從這一點出發(fā),一維陣列可以解決多維陣列的問題。常用的模擬方法:
將二維數(shù)組a[M][n]表示為一維數(shù)組a[M*n
]用[y*nx]代替[y][x
]注意這里用一維數(shù)組代替二維數(shù)組
從代碼清晰易讀的角度來看,二維數(shù)組和多維數(shù)組是不同的有意義。有很多數(shù)據(jù)可以用二維數(shù)組或多維數(shù)組來表示。如果數(shù)據(jù)以適當(dāng)?shù)姆绞奖硎?,算法將簡潔明了。典型?shù)據(jù)適合二維數(shù)組表示,如平面圖形、矩陣。采用二維數(shù)組,程序清晰易讀;采用一維數(shù)組,可讀性要低得多。
與匯編語言相比,C提供了一些數(shù)據(jù)抽象,如數(shù)組、結(jié)構(gòu)和聯(lián)合。事實上,沒有這些抽象,程序仍然可以被編程。但C語言的優(yōu)點是具有高度的抽象性,非常適合于系統(tǒng)級程序的開發(fā)和維護(hù)。如果您認(rèn)為C語言提供的抽象級別太高,那么匯編可能更適合您的項目。如果您認(rèn)為C語言提供的抽象級別太低,那么有很多選擇。從C、java到各種新語言,您可以嘗試替換它們。