随机数应用(班费收集)

上一篇笔记我们已经介绍了C语言中的随机数生成。
下方就是随机数生成程序

1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int a = 0;
srand((int)time(NULL));
a=rand()%100;
printf("a??????????%d\n",a);
return 0;
}

现在我们来根据随机数生成器来完成一些新的需求。
需求:网络与通信学院某班秉着自愿原则进行班费收集。当缴纳金额达到500后就停止收集,统计此时缴纳班费的人数以及平均每人缴纳金额。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int money = 0;//声明变量money为整数int类型
//money为单个学生捐款金额
int sum = 0;//声明变量sum为整数int类型
//sum为捐款总金额
int people = 0;//声明变量people为整数int类型
//people捐款总人数
int ecosum = 0;//声明变量ecosum为整数int类型
//ecosum为平均捐款金额
srand((int)time(NULL));//随机数生成器
for(int i=1;i<=100;i++){//假设有100名学生
money=rand()%100;//随机数生成器生成单个学生捐款金额
sum+=money;//计算总捐款金额
people++;//每次循环总人数自加一
if(sum>=500){
break;//如果总捐款金额达到500运用break函数跳出for循环
}
}
ecosum=sum/people;//平均捐款金额=总捐款金额除以人数
printf("捐款人数%d\n",people);//打印输出捐款人数
printf("平均每人捐款金额%d\n",ecosum);//打印输出平均每人捐款金额
return 0;//返回结果0
}