题目:从键盘输入某班学生某门课的成绩(已知每班人数最多不超过40人,具体人数由键盘输入),编程 统计不及格人数。
注意:随机函数 rand ()产生的是一个在0~ RAND _ MAx 之间的整数。
符号常景 RAND _ MAX 在 stdlib . h 中定义,标准 C 规定 RAND _ MAX 的值不大于32767。
使用该函数时,要在程序开头包含头文件 stdlib . h
要得到 a ~ b 之间的随机整数可以用下面的算式:
[ a , b ]---( int )( a +( b - a )*( double ) rand ()/ RAND _ MAX ) 或者:
[ a , b ]-- rand ()% ( b - a +1)+ a
标准库函数 srand()
在调用函数 rnd ()之前,先调用函数 srand ()初始化随机数序列,得到不同的随机数,语句如下: srand (( unsigned ) time ( NULL );
其中,函数 time ()返回以秒计算的当前时间值,该值被转換为无符号整数并用作随机数种子。使用
函数 time ()时,要在程序开头包含头文件 time.h
常写为:srand(time(0));
源程序:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 40
int main(void)
{
int i,n,count=0;
int a[N];
printf("请输入学生人数n:");
scanf("%d",&n);
srand(time(0));
for(i=0;i<n;i++)
{
a[i]=rand()%(100-0+1)+0;
}
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
if(a[i]<60)
{
count++;
}
}
printf("\n");
printf("不及格人数为:%d",count);
return 0;
}