站点图标 陌路寒暄

A改错题--体检情况分析

A改错题--体检情况分析

时间: 1ms        内存:128M

描述:

注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交。

某学校抽查同学的身体情况,以下是检测到的这些同学的体重和身高,分别输出体重和身高的最大值。

#include <stdio.h>
#include <iostream>
using namespace std;
template <class T>
class DistancePoint
{
public:
    static T Maxvalue(T arr[], int n);
};
int  main()
{
    const int ARRSIZE=10;
    int iArr[ARRSIZE];
    double dArr[ARRSIZE];
    int i;
    for(i=0; i<ARRSIZE; i++)
        cin>>iArr[i];
    cout<<DistancePoint<int>::Maxvalue(iArr,ARRSIZE)<<endl;
    for(i=0; i<ARRSIZE; i++)
        cin>>dArr[i];
    cout<<DistancePoint<double>::Maxvalue(dArr,ARRSIZE)<<endl;
    return 0;
}
/*****修改的起始行******/
T DistancePoint<T>::Maxvalue(T arr[], int n)
{
    int i;
    int maxV = arr[0];
    for(i=1; i<n; i++)
        if(maxV<arr[i])
            maxV= arr[i];
    return maxV;
}
/*****修改的终止行*****/

输入:

10名同学的体重和身高

输出:

体重的最大值和身高的最大值

示例输入:

55 60 56 65 70 45 40 60 50 56
1.65 1.70 1.78 1.91 1.60 1.65 1.82 1.86 1.75 1.78

示例输出:

70
1.91

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main()
{
    int a[10],i,max1;
    float b[10],max2;
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
    for(i=0;i<10;i++)
        scanf("%f",&b[i]);
    max1=a[0];
    max2=b[0];
    for(i=1;i<10;i++)
    {
        if(a[i]>max1)max1=a[i];
        if(b[i]>max2)max2=b[i];
    }
    printf("%d\n%.2f\n",max1,max2);
    return 0;
}

参考答案(时间最优[0]):


#include <stdio.h>
#include <iostream>
using namespace std;
template <class T>
class DistancePoint
{
public:
    static T Maxvalue(T arr[], int n);
};
int  main()
{
    const int ARRSIZE=10;
    int iArr[ARRSIZE];
    double dArr[ARRSIZE];
    int i;
    for(i=0; i<ARRSIZE; i++)
        cin>>iArr[i];
    cout<<DistancePoint<int>::Maxvalue(iArr,ARRSIZE)<<endl;
    for(i=0; i<ARRSIZE; i++)
        cin>>dArr[i];
    cout<<DistancePoint<double>::Maxvalue(dArr,ARRSIZE)<<endl;
    return 0;
}
template <class T>
T DistancePoint<T>::Maxvalue(T arr[], int n)
{
    int i;
    T maxV = arr[0];
    for(i=0; i<n; i++)
        if(maxV<arr[i])
            maxV= arr[i];
    return maxV;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

退出移动版