C++习题 对象数组输入与输出

C++习题 对象数组输入与输出

时间: 1ms        内存:128M

描述:

建立一个对象数组,内放n(n<10)个学生的数据(学号、成绩),用指针指向数组首元素,输出第奇数(1,3,5,7)个学生的数据。

输入:

n和n个学生的学号、成绩

输出:

奇数学生的数据

示例输入:

5
101 78.5
102 85.5
103 98.5
104 100.0
105 95.5

示例输出:

101 78.50
103 98.50
105 95.50

提示:

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

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,a;
    float b;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%f",&a,&b);
        if(i%2!=0) printf("%d %.2f\n",a,b);
    }
    return 0;
}

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

#include <iostream>
#include <iomanip>
using namespace std;
class Student
{
public:
    Student(int n=0,float s=0):num(n),score(s) {}
    void display();
    void input();
private:
    int num;
    float score;
};

void Student::display()
{
    cout<<num<<" "<<score<<endl;
}
void Student::input()
{
    cin>>num>>score;
}
int main()
{
    const int NUM=10;
    Student stud[NUM];
    int n,i;
    cin>>n;
    for(i=0; i<n; i++)
        stud[i].input();
    cout<<setiosflags(ios::fixed);
    cout<<setprecision(2);
    Student *p=stud;
    for(i=0; i<n; p+=2,i+=2)
        p->display();
    return 0;
}

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

点赞

发表评论

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