1. 简答题
建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
程序运行如下:
![]()
程序分析:
步骤:
- 设计类 Student
Student(){}//带形参
- 定义对象 5个//带实参 的数组
Student *p=&std[0]或者Student *p=std
- 主函数调用接口
- 定义max函数
程序总结:
对于分数没有采用float型,而是采用了int型,这一点考虑不周到。
出现的错误有,把num和score定义到了私有函数中,这导致定义的max函数里,出现错误,说第七行已经有了,不能这样搞,难点感觉是对于max函数的定义,因为涉及到大小的比较和数组以及for循环,if结构。最后就是在主函数中,引入max()函数,并且让指针p的指向首元素的值。
2. 其它
建立一个对象数组,内放5个学生的数据(学号,成绩),用指针指向数组首元素,输出第1、3、5个学生的数据。
程序运行结果如下:
![]()
程序分析:
1.设计类 Student
Student(){}//带形参
2.定义对象 5个//带实参 的数组
Student *p=&std[0]或者Student *p=std
- 主函数调用接口
程序总结:
因为是第一个写这个程序的。所以刚开始把公有函数里面的,这样写Student(int num,int score){},但是当给这个里面的形参赋值的时候,发现student(1,90)中它的student有错。改成Student(int n,int s):num(n),score(s){}就合适了。还有最后的那个指针指向第三第五个元素,不明白为什么*p.display(),(p+2).display运行出来的有问题
C语言编程小作业
最新推荐文章于 2024-08-22 17:27:46 发布