#include<stdio.h>
#include<math.h>
#include<string.h>
/*求n个整数中的最大的两个元素。要求定义一个函数LargestTow(),
求数组a的最大的两个元素,分别存入形参指针pfirst和psecond所指存储单元,函数原型如下:*/
void LargestTow(int a[], int n, int* pfirst, int* psecond)
{
int i;
int First=a[0], Second=a[0];
int time = 0;
for (i = 0; i < n; i++)
{
if (First < a[i])
{
First = a[i];
}
}
for (i = 0; i < n; i++)
{
if (a[i] != First)
{
if (time == 0)
{
Second = a[i];
time = 1;
}
if (a[i] > Second)
{
Second = a[i];
}
}
}
pfirst = &First;
psecond = &Second;
printf("%d %d", *pfirst, *psecond);
/*数组a有n个元素,将数组中的最大值存入形参指针pfirst所指内存单元,将数组中第二大的值存入形参指针psecond所指内存单元。 */
}
int main()
{
int num[1000] = {0};
int n;
int a,b;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d",&num[i]);
}
LargestTow(num, n, &a, &b);
return 0;
}
ZZULIOJ1159: 最大的两个数(指针专题)
最新推荐文章于 2023-01-20 10:37:15 发布