sdut 面向对象程序设计上机练习九(对象指针)

面向对象程序设计上机练习九(对象指针)

Time Limit: 1000MS Memory limit: 65536K

题目描述

建立对象数组,内放5个学生数据(学号是字符串类型、成绩是整型),设立max函数,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号和成绩。

输入

输入5个学生数据。

输出

输出5个学生中成绩最高者的学号和成绩。

示例输入

01 89
02 78
03 56
04 92
05 76

示例输出

04 92

来源

#include <iostream>

using namespace std;

class student
{
public:
    char no[100];
    int score;
};

student a[5];

void max(student *&p)
{
    int i;
    int max=a[0].score;
    for(i=1; i<5; i++)
    {
        if(a[i].score > max)
        {
            max=a[i].score;
            p = &a[i];
        }
    }
}

int main()
{
    int i;
    for(i=0; i<5; i++)
        cin>>a[i].no>>a[i].score;

    student *p=&a[0];
    max(p);

    cout<<p->no<<" "<<p->score<<endl;
    return 0;
}
时间: 2024-10-26 03:11:44

sdut 面向对象程序设计上机练习九(对象指针)的相关文章

sdut 面向对象程序设计上机练习七(类和对象)

面向对象程序设计上机练习七(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用类的数据成员和成员函数完成下列操作:输入三个整数,输出它们的最大值. 输入 输入三个整数. 输出 输出3个整数的最大值. 示例输入 2 8 5 示例输出 8 这个就不做详细注释了,初学者也能尝试着看懂. #include <iostream> using namespace std; class shu { private: int a,b,c; public:

sdut 面向对象程序设计上机练习五(简单类和对象)

面向对象程序设计上机练习五(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 定义类Time,Time有3个公用的数据成员hour.min.sec分别表示小时.分.秒. 在主函数main中定义Time类对象t1,在主函数main中输入t1的各数据成员再并输出各数据成员. 输入 输入类对象的3个数据成员hour.min.sec. 输出 输出类对象的3个数据成员hour.min.sec. 示例输入 9 10 11 示例输出 9:10:11 #inc

sdut 面向对象程序设计上机练习六(类和对象)

面向对象程序设计上机练习六(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 用类成员函数完成5个整型数组元素的输入.从小到大排序.排序后数组元素的输出. 输入 输入5个数组元素. 输出 输出5个数组元素从小到大排序后的结果.(最后一个数后面既没有空格也没有换行) 示例输入 8 9 1 5 4 示例输出 1 4 5 8 9 提示 来源 zlh 示例程序 #include <iostream> using namespace std; //定义

sdut 面向对象程序设计上机练习八(对象数组)

面向对象程序设计上机练习八(对象数组) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用类对象数组完成N个学生数据(学号是字符串类型.成绩是整型)的输入.输出. 输入 输入有N+1行: 第一行的整数N表示学生数目: 以下N行是N个学生的数据,每行中第一个是表示学号的字符串,第二个是表示学生成绩的整数. 输出 输出N个学生数据.每个学生的数据占一行. 示例输入 5 01 89 02 78 03 56 04 92 05 76 示例输出 01 89 02

sdut 面向对象程序设计上机练习十(运算符重载)

面向对象程序设计上机练习十(运算符重载) Time Limit: 1000MS Memory limit: 65536K 题目描述 定义一个复数类Complex,重载运算符"+",使之能用于复数的加法运算.参加运算的两个运算量可以都是类对象,也可以其中有一个是整数,顺序任意.例如:c1+c2.i+c1.c1+i均合法.(其中i是整数,c1.c2是复数),编程实现求2个复数之和.整数与复数之和. 输入 输入有三行:第1行是第1个复数c1的实部和虚部,以空格分开.第2行是第2个复数c2的实

sdut 面向对象程序设计上机练习四(变量引用)

面向对象程序设计上机练习四(变量引用) Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 将变量的引用作为函数形參,实现2个int型数据交换. 输入 输入2个int型整数. 输出 输出2个整数交换前后的值. 演示样例输入 88 66 演示样例输出 88 66 66 88 把变量的引用作为函数形參,即传送变量的别名. #include <iostream> using namespace std; //"引用形參"交换函数 void

sdut 面向对象程序设计上机练习二(函数模板)

面向对象程序设计上机练习二(函数模板) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用数组和函数模板求5个数最大值(分别考虑整数.单精度.长整数的情况). 输入 分别输入5个int型整数.5个float 型实数.5个long型正整数. 输出 分别输出5个int型整数的最大值.5个float 型实数的最大值.5个long型正整数的最大值. 示例输入 11 22 666 44 55 11.11 22.22 33.33 888.88 55.55 1234

sdut 面向对象程序设计上机练习三(有默认参数的函数)

面向对象程序设计上机练习三(有默认参数的函数) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用默认参数的函数实现求2个或3个整数的最大值. 输入 输入3个int型整数. 输出 输出第1.2个整数及其最大值: 输出第1.2.3个整数及其最大值. 示例输入 88 66 99 示例输出 88 66 88 88 66 99 99 既然题目要求是调用默认的函数,就不用自己去定义了: 机智灵活的运用默认函数.. #include <iostream> usi

sdut 面向对象程序设计上机练习十一(运算符重载)

面向对象程序设计上机练习十一(运算符重载) Time Limit: 1000MS Memory limit: 65536K 题目描述 有两个矩阵a和b,均为2行3列,求两个矩阵之和.重载运算符"+",使之能用于矩阵相加.如:c=a+b. 输入 第1.2行是矩阵a的值,数据以空格分开. 第3.4行是矩阵b的值,数据以空格分开. 输出 2个矩阵a.b之和,以行列形式显示. 示例输入 2 3 4 3 5 3 4 3 1 5 4 3 示例输出 6 6 5 8 9 6 来源 #include &