C语言编程小作业

1. 简答题

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

程序运行如下:

11b2991de7484cca628354afffda96f7bc461849? 

 

程序分析:

步骤:

  1. 设计类  Student

        Student(){}//带形参

  1. 定义对象   5个//带实参  的数组

Student *p=&std[0]或者Student *p=std

  1. 主函数调用接口
  2. 定义max函数

 

程序总结:

对于分数没有采用float型,而是采用了int型,这一点考虑不周到。

出现的错误有,把num和score定义到了私有函数中,这导致定义的max函数里,出现错误,说第七行已经有了,不能这样搞,难点感觉是对于max函数的定义,因为涉及到大小的比较和数组以及for循环,if结构。最后就是在主函数中,引入max()函数,并且让指针p的指向首元素的值。

 

 

2. 其它

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

 

程序运行结果如下:

d29ddcd539545470a533146d6ad81709ee23c8b6? 

程序分析:

1.设计类    Student

        Student(){}//带形参

2.定义对象   5个//带实参  的数组

Student *p=&std[0]或者Student *p=std

  1. 主函数调用接口

程序总结:

因为是第一个写这个程序的。所以刚开始把公有函数里面的,这样写Student(int num,int score){},但是当给这个里面的形参赋值的时候,发现student(1,90)中它的student有错。改成Student(int n,int s):num(n),score(s){}就合适了。还有最后的那个指针指向第三第五个元素,不明白为什么*p.display(),(p+2).display运行出来的有问题

 

 

 

 

 

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值