计算奖学金的程序设计与实现

背景介绍

奖学金是对学生在学业、科研和社会活动中表现突出的一种奖励。本文将介绍一个简单的程序设计题目,即根据学生的成绩、评议成绩、发表论文、地区和学生干部情况来计算奖学金,并找出拿到奖学金最多的学生。

问题分析

题目要求根据学生的成绩、评议成绩、发表论文、地区和学生干部情况计算奖学金,并找出拿到奖学金最多的学生。这涉及到对学生信息的输入、奖学金的计算和最高奖学金学生的选择。

题目

某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同:

1) 院士奖学金,每人8000元,期末平均成绩高于80分(>80),并且在本学期内发表1篇或1篇以上论文的学生均可获得;

2) 五四奖学金,每人4000元,期末平均成绩高于85分(>85),并且班级评议成绩高于80分(>80)的学生均可获得;

3) 成绩优秀奖,每人2000元,期末平均成绩高于90分(>90)的学生均可获得;

4) 西部奖学金,每人1000元,期末平均成绩高于85分(>85)的西部省份学生均可获得;

5) 班级贡献奖,每人850元,班级评议成绩高于80分(>80)的学生干部均可获得;

只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是87分,班级评议成绩82分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是4850元。

算法设计

我们可以使用结构体来存储学生信息,然后使用循环和条件语句来计算奖学金并找出最高奖学金的学生。具体的算法设计将在后续的代码实现中展开。

代码实现

首先我们构建一个结构体 Student,在其内部按题目要求加入属性如下图所示

然后再主函数中声明N并赋值,再定义一个结构体Student 的可变变量stu[N],用其来存储N个学生的属性,随后使用for循环输入N个学生的各个属性使用1/0来判断其是否符合要求,声明并初始化整形 j,数组money_sum[N],MAX_reward,在后面分别存储最多奖学金的同学的数组索引、第i个同学的总奖学金、得到最多奖学金的同学的奖学金。然后再根据题目的要求使用for循环和if语句得到拿到最多奖学金的同学的名字和总奖学金,最后输入即可。代码如下

测试与结果

假设输入如下学生信息

总结

本文介绍了一个简单的奖学金计算问题,并给出了相应的算法设计和代码实现。这个算法可以很好地解决题目要求的问题,但也可以根据实际需求进行改进和扩展,比如增加更多的奖学金计算条件或者优化算法的性能。

如有不一样的想法可以在评论区留言!

  • 36
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

often_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值