我用结构体stu[ ].result1记录语文成绩,chinesenum1记录不及格人数,chinesenum2记录几个人数,pass1记录语文及格率=及格人数/总人数,单个及格人数,不及格人数,总人数可以打印出来,但是及格率就是打印不出来,咋办呀

用结构体算学生成绩管理系统及格率出现错误
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 技术专家团-小桥流水 2022-03-11 23:22关注
因为及格人数小于总人数,用及格人数/总人数的时候,这两个数都是整数,计算结果也是整数,所以是0。(在C语言中,2/5的结果是0,不是0.4,因为2和5都是int类型,计算结果也默认是int类型,0.4保留整数是0)。
所以,计算及格率的时候,需要用下面的公式 :
及格率=1.0 * 及格人数 / 总人数; 这个得出来的是小于1的数,比如0.4
或者
及格率=100.0 * 及格人数 / 总人数; 这个计算出来的是百分比,比如40
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录