PTA 求10个数最大值及最大值出现的次数

求10个数中的最大值,并求最大值出现的次数。

函数接口定义:

 int fun(int a[],int n);

函数fun中a,n是用户传入的参数,函数fun的功能是求a数组中n个数中的最大值,并返回最大值。

裁判测试程序样例:

#include<stdio.h> 
int fun(int a[],int n);
int main()
 {int b[10],i,max,k=0;
  for(i=0;i<10;i++)   scanf("%d",&b[i]);
  max=fun(b,10);
  printf("max=%d\n",max);
  for(i=0;i<10;i++)
    if(max==b[i]) 
      k++;
  printf("num:%d\n",k);
  return 0;
 }


/* 请在这里填写答案 */

输入样例:

2 5 4 1 9 8 4 5 9 2 1

输出样例:

max=9
num:2

#include<stdio.h> 
int fun(int a[], int n);
int main()
{
    int b[10], i, max, k = 0;
    for (i = 0; i < 10; i++)   scanf_s("%d", &b[i]);
    max = fun(b, 10);
    printf("max=%d\n", max);
    for (i = 0; i < 10; i++)
        if (max == b[i])
            k++;
    printf("num:%d\n", k);
    return 0;
}

int fun(int a[], int n)
{
    int max = a[0];
    for (int i = 1; i < n; ++i)
        if (a[i] > max)
            max = a[i];
    return max;
}

实现如下:

#include<stdio.h> 
#include<stdlib.h>
int fun(int a[], int n);
//主函数
int main()
{
    int b[10], i, max, k = 0;
    for (i = 0; i < 10; i++)   scanf_s("%d", &b[i]);
    max = fun(b, 10);
    printf("max=%d\n", max);
    for (i = 0; i < 10; i++)
        if (max == b[i])
            k++;
    printf("num:%d\n", k);
    return 0;
}
//fun函数实现 
int fun(int a[], int n)
{
    int max = a[0];
    for (int i = 1; i < n; i++)
        if (a[i] > max)
            max = a[i];
    return max;
}

运行结果如图:

img

以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!