?p8
有些的結(jié)論需要直接記住
目錄
矩陣轉(zhuǎn)置?
主對(duì)角線和次對(duì)角線
下三角?和上三角(一般是讓求和)
下三角
?上三角
楊輝三角
矩陣轉(zhuǎn)置?
不是方陣 需要用到第二個(gè)二維數(shù)組?
b[i][j]=a[i][j]
是方陣? ? ?方法1 借助第二個(gè)二維數(shù)組,同上
方法2? ? 下三角換即可(是方陣的話一般題目都是讓你用第二個(gè)方法)
void main() {
int i, j,temp, arr[4][4] = { {1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16} };
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%4d", arr[i][j]);
}
printf("\n");
}
//開(kāi)始轉(zhuǎn)置
for (i = 0; i < 4; i++) {
for (j = 0; j <= i; j++) {
temp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = temp;
}
}
//轉(zhuǎn)置后
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%4d", arr[i][j]);
}
printf("\n");
}
}
主對(duì)角線和次對(duì)角線
主對(duì)角線:? i==j
次對(duì)角線 :? i+j==數(shù)組維度-1
void main() {
int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} }, sum1 = 0,sum2=0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (i == j) sum1 += arr[i][j];//主對(duì)角線和
if (i + j == 2) sum2 += arr[i][j];//次對(duì)角線和
}
}
printf("%4d%4d", sum1, sum2);
}
下三角?和上三角(一般是讓求和)
下三角
void main() {
//下三角
int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
for (i = 0; i < 3; i++) {
for (j = 0; j <= i; j++)
printf("%4d", arr[i][j]);
printf("\n");
}
}
?上三角
void main() {
//上三角
int i, j, arr[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
for (i = 0; i < 3; i++) {
for (j = 2-i; j >= 0; j--)
printf("%4d", arr[i][j]);
printf("\n");
}
}
?
??40
楊輝三角
第0列和主對(duì)角線都是1 ,?其余的元素是上一行本列的元素 + 上一行,列-1的元素
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-813390.html
?列如:打印楊輝三角形(要求打印出10行)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-813390.html
void main() {
int arr[10][10] = {0}, i, j;
for (i = 0; i < 10; i++) {
arr[i][0] = 1;//第一列全部為1
arr[i][i] = 1;//主對(duì)角線
}
for (i = 2; i < 10; i++) {
for (j = 1; j < i; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for (i = 0; i < 10; i++) {
for (j = 0; j <=i; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
}
到了這里,關(guān)于C語(yǔ)言二維數(shù)組中:主次對(duì)角線求和,上下三角求和,楊輝三角,矩陣轉(zhuǎn)置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!