如何在二维数组中, 分别找出最大的数&&次大的数
程序员文章站
2022-03-03 08:24:59
...
这里我用指针数组
指针数组的定义: 类型 *指针数组名[元素个数];
参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int girls[4][3] = {
{173,158,166},
{168,155,171},
{163,164,165},
{163,164,172} };
int* qishou[2]; /* 定义有两个元素的指针数组, 每个元素都是一个指针变量 */
if (girls[0][0] > girls[0][1])
{
qishou[0] = &girls[0][0];
qishou[1] = &girls[0][1];
}
else
{
qishou[0] = &girls[0][1];
qishou[1] = &girls[0][0];
}
for (int i = 2; i < 12; i++)
{
if (*qishou[1] >= girls[i / 3][i % 3])
{
continue; /* 第2名>=候选人的跳过(反过来也就是, 筛选出候选人 > 第二名) */
}
/* 1. 候选人比冠军矮 */
if (girls[i / 3][i % 3] <= *qishou[0])
{
qishou[1] = &girls[i / 3][i % 3];
}
else /* 2. 候选人比冠军高 */
{
qishou[1] = qishou[0];
qishou[0] = &girls[i / 3][i % 3];
}
}
printf("最高女兵的身高: %d, 次高女兵的身高: %d\n", *qishou[0], *qishou[1]);
system("pause");
return 0;
}
运行环境: vs2019
运行结果:
结语:
学到的知识要, 多复习, 多总结, 多敲. 需要时间的积累, 才能引起质的改变. 自己写不出来的永远是别人的.
分享一下我的技巧: 代数法把具体的数字带进去, 看看能能能找到规律(掌握思想).
还有就是画图, 也很重要. 用笔画出来, 把数代进去, 方法虽然笨, 但真的很实用, 好记忆不如烂笔头!!!
我是小白, C/C++功力…, 你懂得, 写的文章可能不是很好. 如果存在问题, 欢迎大神给予评判指正.
错了不可怕, 可怕的是找不出bug, 谁没错过!!!
今日是: 2020年5月5日, (由于疫情的原因)在家里整天坐在电脑前, 眼神逐渐从大到小, 视力也有所大大的下降 ,中午期待打篮球. 写博客, 就当写写日记吧!!!,
希望给个赞: 反正你又不亏, 顺便而已