5、随机产生20个[45,210]范围内的正整数,实现以下功能:
a) 求最大值、最小值和平均值。
b) 求小于平均值的数据的个数。
提示:产生随机数使用库函数:rand();下面两条语句用于系统随机生成45~210之间的整数:
srand(time(NULL)); /*初始化随机因子*/
for(i=0;i<20;i++) a[i]=rand()%(210-45+1)+45; /*生成45~210之间的整数*/
因为使用到库函数:time() srand()、rand(),所以需在程序开头加上两个头文件:
#include <stdlib.h>
#include <time.h>
程序代码:
#include <stdio.h>
int main() {
int data[20];
int i;
int sum = 0;
int max, min;
int count = 0;
float average;
printf("请输入20个[45, 210]范围内的正整数:\n");
// 输入20个数,并计算它们的和
for (i = 0; i < 20; i++) {
scanf("%d", &data[i]);
sum += data[i];
}
// 计算最大值和最小值
max = data[0];
min = data[0];
for (i = 1; i < 20; i++) {
if (data[i] > max) {
max = data[i];
}
if (data[i] < min) {
min = data[i];
}
}
// 计算平均值
average = (float)sum / 20;
// 计算小于平均值的数据个数
for (i = 0; i < 20; i++) {
if (data[i] < average) {
count++;
}
}
printf("最大值为: %d\n", max);
printf("最小值为: %d\n", min);
printf("平均值为: %.2f\n", average);
printf("小于平均值的数据个数为: %d\n", count);
return 0;
}
标签:20,11.9,min,int,max,printf,data From: https://www.cnblogs.com/lml66/p/17909383.html