在[0,100]范围生成10个随机种子为824的学生成绩。请你设计子函数实现指针法统计低于均分的情况。
要求:
1、使用子函数:
void GetScore(int *p,float *avg,int *num)//p是指向原成绩数组的指针,avg存储均分,num指针存储低于均分人数。
2、使用指针法处理数据在子函数中实现统计,不允许在子函数中输出。
3、主函数中输出
【输出形式】
输出分三行:
第一行输出原始成绩
第二行输出均分及低于均分总个数
第三行输出低于均分的成绩,保留一位小数
【样例输出】
2 78 1 8 43 57 52 54 9 69
avg=37.3 num=4
2 1 8 9
#include<stdio.h>
#include<stdlib.h>
void GetScore(int *p,float *avg,int *num)
{
int i,cout=0;
float sum=0;
for(i=0;i<10;i++)
{
sum+=p[i];
}
*avg=sum/10;
for(i=0;i<10;i++)
{
if(p[i]<*avg)
cout++;
}
*num=cout;
}
int main()
{
srand(824);
float aaa=0;
float *avg=&aaa;
int bbb=0,a[10],i;
int *num=&bbb;
for(i=0;i<10;i++)
{
a[i]=rand()%101;
printf("%d ",a[i]);
}
GetScore(a,avg,num);
printf("\navg=%.1f num=%d\n",*avg,*num);
for(i=0;i<10;i++)
{
if(a[i]<*avg)
printf("%d ",a[i]);
}
return 0;
}
该程序在[0,100]范围内生成10个基于随机种子824的成绩,然后使用指针法在子函数中计算均分和低于均分的人数。主函数负责输出原始成绩、均分和低于均分的成绩。

被折叠的 条评论
为什么被折叠?



