改错:体检数据分析

改错:体检数据分析

时间: 1ms        内存:128M

描述:

某学校抽查同学的身体情况。基于这些同学的体重和身高,分别输出体重和身高的最大值。
下面的程序用来完成这项工作,在begin到end之间存在错误,请修改其中的错误,并提交begin到end之间的部分。
#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;
}
//******************** begin ********************
T DistancePoint<T>::Maxvalue(T arr[], int n)
{
    int i;
    int maxV = arr[o];
    for(i=1; i>n; i++)
        if(maxV>arr[i])
            maxV= arr[i];
    return maxV;
}
//********************* end ********************

输入:

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 <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=1; i<n; i++)
        if(maxV<arr[i])
            maxV= arr[i];
    return maxV;
}

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

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注