写出一段代码,在1000名学生中,征集慈善捐款,当总数达到10万元时就结束,统计此时捐款的人数,以及平均每人捐款的数目。c++
时间: 2024-04-30 07:19:19 浏览: 109
红色革命文物征集网站-红色革命文物征集网站源码-红色革命文物征集网站java代码-基于springboot的红色革命文物征集网站
以下是示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
const int MAX_AMOUNT = 100000; // 最大捐款总额
int totalAmount = 0; // 当前捐款总额
int totalPeople = 0; // 捐款人数
int donation; // 每个人的捐款额
while (totalAmount < MAX_AMOUNT) { // 当总捐款不足最大捐款时继续征集
cout << "请输入捐款额(单位:元):";
cin >> donation;
if (donation <= 0) { // 输入非法,跳过本次循环
cout << "输入不合法,请重新输入!" << endl;
continue;
}
totalAmount += donation; // 更新捐款总额
totalPeople++; // 更新捐款人数
}
cout << "恭喜,已征集到 " << totalAmount << " 元,共有 " << totalPeople << " 人捐款。" << endl;
cout << "平均每人捐款 " << totalAmount / totalPeople << " 元。" << endl;
return 0;
}
```
其中,我们使用了 `while` 循环来征集捐款,当捐款总额超过或等于最大捐款额时,循环结束。在循环中,我们通过 `cin` 来获取每个人的捐款额,并且需要判断输入是否合法。每次循环结束后,更新捐款总额和捐款人数。当循环结束后,输出统计结果。
阅读全文