C语言练习篇-5二维数组行列交换及找最大值
2016-06-02 14:05
218 查看
练习:将一个二维数组的行和列交换,存储到另一个数组。
练习:定义一个3行4列的数组,找出数组的最大元素所在行和列。
方法一:只能找一个最大的,有两个以上最大值则打印第一个。
方法二:可以查找多个相同的最大值。
#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 语言程序(二)
- 如何写好 C main 函数
- Lua和C语言的交互详解
- Lua中使用二维数组实例
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- C语言实现选择排序、冒泡排序和快速排序的代码示例