69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int s[21];
int Average(int n, int s[]);
int input(int n, int s[]);
int Count(int avg, int n, int s[]);
int main(int argc, char *argv[])
{
int i,j,k;
for(i=0;;i++)
{
j = input(21, s);
if(j==0)
return 0;
else
{
printf("%d ",j);
k=Average(j,s);
printf("%d ",k);
printf("%d\n",Count(k,j,s));
}
}
return 0;
}
int input(int n, int s[])
{
//int i,j=0,n=21;
int i,j = 0;
printf("输入数据:\n");
for(i=0; i < n;i++)
{
scanf("%d",&s[i]);
if(s[i]==0)
break;
else if (s[0]==0)
return 0;
else
j++;
}
return j;
}
int Average(int n, int s[])
{
//int i,j,k;
int i;
float sum=0,avg;
for(i=0;i<n;i++)
sum+=s[i];
avg=sum/n;
return avg;
}
int Count(int avg, int n, int s[])
{
int i,j=0;
for(i=0;i<n;i++)
if(s[i]>avg)
j++;
return j;
}
‘
Count函数需要先声明后使用,和input和Average一样。
另外,建议传递一个参数到input函数,保证输入的数据不会导致s越界。