C语言算法题,统计个年龄段的人数0~ 9,10~19.。。。。分别放置到数组b[0],b[1]…
#include<stdio.h>
#define N 50
#define M 11
void fun(int *a,int *b){
//将a数组当中的数据统计到b数组当中
int i,j;
for(j=0;j<M;j++){
b[j]=0;
}
for(i=0;i<N;i++){
if(a[i]>=100){
b[10]++;
}else{
b[a[i]/10]++;//将a数组的数据除以10 的余数自增后添加到b数组当中
}
}
}
double rnd(){
static t = 29,c = 217,m=1024,r=0;
r=(r*t+c)%m;
return ((double)r/m);
}
void main(){
int age[N],i,d[M];
for(i=0;i<N;i++)
age[i]=(int)(115*rnd());//生成N个整数类型的随机数
for(i=0;i<N;i++)
printf((i+1)%10==0? "%4d\n":"%4d",age[i]);//
printf("\n\n");
fun(age,d);
for(i=0;i<10;i++)
printf("%4d -- %4d: %d\n",i*10,i*10+9,d[i]);
printf("Over 100: %d\n",d[10]);
}