已知一个班级的应到与实到,且满足以下规则请假人数不得超过班级总人数的20%,超出的请假人数每人/次扣0.5分,如果还超过班级总人数50%超出的请假人数每人/次扣1分,另外如果总人数的20%和50%不是个整数则进行四舍五入。求应扣多少分,用c语言网页解决此问题。
时间: 2024-01-22 07:17:43 浏览: 16
下面是一个用 C 语言实现的求应扣分数的示例代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int total, actual, absent, limit20, limit50;
float penalty;
// 输入班级总人数和实到人数
printf("请输入班级总人数和实到人数:");
scanf("%d%d", &total, &actual);
// 计算应到人数和缺席人数
int expected = round(total * 0.8);
absent = expected - actual;
// 判断请假人数是否超过限制
if (absent > round(total * 0.2)) {
limit20 = round(total * 0.2);
limit50 = round(total * 0.5);
int excess = absent - limit20;
if (excess <= limit50 - limit20) {
penalty = excess * 0.5;
} else {
penalty = (limit50 - limit20) * 0.5 + (excess - (limit50 - limit20)) * 1.0;
}
} else {
penalty = 0;
}
// 输出应扣分数
printf("应扣分数为:%.1f分\n", penalty);
return 0;
}
```
在这个示例代码中,我们首先输入班级总人数和实到人数,然后计算出应到人数和缺席人数。接着我们判断请假人数是否超过班级总人数的 20% 的限制。如果超出了,则根据超出的人数计算应扣分数,否则应扣分数为 0。最后我们输出应扣分数。注意在进行四舍五入时需要使用 math.h 库中的 round 函数。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)