1 Star 0 Fork 1

sdbzmyh/learnC2

forked from guohuacai/learnC2 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
c语言找出一个数组中第二大的成员并且输出 1.37 KB
一键复制 编辑 原始数据 按行查看 历史
guohuacai 提交于 2020-12-18 09:37 . init
方法一,
#include <stdio.h>
int getmaxelem(int *parr, int n)
{
int max = 0;
int i;
for (i = 0; i < n; i++)
{
if (max < *parr)
{
max = *parr;
}
parr++;
}
return max;
}
int main(int argc, char const *argv[])
{
int a[] = {5,
100,
32,
45,
21,
67,
32,
68,
41,
99,
13,
71};
int size = sizeof(a) / sizeof(*a);
int max, smax;
//首先假设第一个和第二个成员为最大和第二大
if (*(a + 0) > *(a + 1))
{
max = *(a + 0); //最大成员
smax = *(a + 1); //第二大成员
}
else
{
max = *(a + 1);
smax = *(a + 0);
}
int i;
int tmp;
//从第三个开始如果成员比max大,就把max的值给smax,把比max大的成员的值赋给max
for (i = 2; i < sizeof(a) / sizeof(*a); i++)
{
if (*(a + i) > max)
{
smax = max;
max = *(a + i);
}
else if (*(a + i) < max && *(a + i) > smax)
{
smax = *(a + i);
}
}
printf("数组中第二大的数是%d", smax);
return 0;
}
方法二,先对数组利用冒泡法排序,然后再输出数组下标为(长度-2)的元素的值
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sdbzmyh/learn-c2.git
git@gitee.com:sdbzmyh/learn-c2.git
sdbzmyh
learn-c2
learnC2
master

搜索帮助