您的位置:首页 > 编程语言 > C语言/C++

C语言练习篇-5二维数组行列交换及找最大值

2016-06-02 14:05 218 查看
练习:将一个二维数组的行和列交换,存储到另一个数组。

#include <stdio.h>
int main() {
int arr1[2][3] = {{1,2,3,},
{4,5}};
int arr2[3][2] = {0};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
arr2[i][j] = arr1[j][i];
printf("%2d ",arr2[i][j]);
}
printf("\n");
}
return 0;
}


练习:定义一个3行4列的数组,找出数组的最大元素所在行和列。

方法一:只能找一个最大的,有两个以上最大值则打印第一个。

#include <stdio.h>
int main() {

int a[3][4] = {{1,2,3,245},
{4,5,1333,7},
{99,10,11,1333}};
int max = a[0][0], im = 0, jm = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (max < a[i][j]) {
max = a[i][j];
im = i;
jm = j;
}
}
}
printf("最大元素%d所在行为%d 列为%d",max,im,jm);

return 0;
}


方法二:可以查找多个相同的最大值。

#include <stdio.h>
int main() {
int a[3][4] = {{1333,2,3,245},
{4,5,1333,7},
{99,10,11,1333}};
int max = a[0][0];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (max < a[i][j]) {
max = a[i][j];
}
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
if (a[i][j] == max) {
printf("最大元素%d所在行为%d、列为%d\n",a[i][j],i,j);
}
}
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 二维数组