在全系1000名学生中举行慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目。 C语言
时间: 2024-03-18 11:41:04 浏览: 21
好的,可以使用以下C语言代码实现:
```
#include <stdio.h>
#define MAX_STUDENTS 1000
int main() {
float donations[MAX_STUDENTS];
int num_donors = 0;
float total_donations = 0.0;
float average_donation = 0.0;
// 读取捐款金额
for (int i = 0; i < MAX_STUDENTS; i++) {
printf("请输入第 %d 个学生的捐款金额(单位:元):", i + 1);
scanf("%f", &donations[i]);
// 统计捐款总额和捐款人数
total_donations += donations[i];
num_donors++;
// 如果总捐款超过等于 10 万元,结束循环
if (total_donations >= 100000.0) {
break;
}
}
// 计算平均捐款数额
if (num_donors > 0) {
average_donation = total_donations / num_donors;
}
printf("共有 %d 人捐款,平均每人捐款 %.2f 元。\n", num_donors, average_donation);
return 0;
}
```
在这个例子中,我们定义了一个大小为 `MAX_STUDENTS` 的浮点数数组 `donations` 来存储每个学生的捐款金额,以及三个变量 `num_donors`、`total_donations` 和 `average_donation` 分别用于记录捐款人数、捐款总额和平均捐款数额。我们使用一个 `for` 循环来读取每个学生的捐款金额,并在循环内部更新 `num_donors` 和 `total_donations` 的值。如果总捐款超过等于 10 万元,我们就跳出循环。最后,我们计算平均捐款数额,并将结果打印到控制台上。