我用结构体stu[ ].result1记录语文成绩,chinesenum1记录不及格人数,chinesenum2记录几个人数,pass1记录语文及格率=及格人数/总人数,单个及格人数,不及格人数,总人数可以打印出来,但是及格率就是打印不出来,咋办呀
因为及格人数小于总人数,用及格人数/总人数的时候,这两个数都是整数,计算结果也是整数,所以是0。(在C语言中,2/5的结果是0,不是0.4,因为2和5都是int类型,计算结果也默认是int类型,0.4保留整数是0)。
所以,计算及格率的时候,需要用下面的公式 :
及格率=1.0 * 及格人数 / 总人数;
这个得出来的是小于1的数,比如0.4
或者
及格率=100.0 * 及格人数 / 总人数;
这个计算出来的是百分比,比如40
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!