C语言题目求解答

#include <stdio.h>
int main()
{
//函数声明
int input(int s[]);
float Average(int n, int s[]);
int Count(float avg, int n, int s[]);

int a[100][20];//定义数组
int i=0; //行数
while(1)
{
input(a[i]);//二维数组,在此输入每行
printf("第%d次数组输入完成",i+1) ;
if(a[i][0]==0) break;
else
{
int n=input(a[i]);
float aver=Average(n,a[i]);
int co=(aver,n,a[i]);
printf("%d %f %d",n,aver,co);
i++;
}
}

return 0;
}

//用一个函数实现数据输入的功能,input的参数为输入的数据,
//函数返回值大于0表示该行输入的数据个数,0表示输入结束。
int input(int s[])
{
int i=0;//每行输入个数
while(1)
{
scanf("%d",&s[i]);
if(s[i]==0) break;
else i++;
}
return i;
}

//用一个函数实现求平均值的功能
float Average(int n, int s[])
{
int i;
float sum;
for(i=0;i<n;i++)
sum+=s[i];
return (sum/n);
}

//用一个函数实现统计大于平均值的数据个数
int Count(float avg, int n, int s[])
{
int i,j=0;
for(i=0;i<n;i++)
{
if(s[i]>avg) j++;
}
return j+1;
}

求指出错误,感谢!

#include <stdio.h>
int main()
{
//函数声明 
int  input(int s[]);
int Average(int n, int s[]); //说明里明明是返回int
int Count(int avg, int n, int s[]); //说明里是int avg


int a[20];//定义数组 不需要二维的
int i=0; //行数 
while(1)
{
int n=input(a);//ERR
printf("第%d次数组输入完成",i+1) ;
if(n==0) break; //ERR
else
{
int aver=Average(n,a); //
int co=Count(aver,n , a); //少了函数名
printf("%d  %d  %d\n",n,aver,co); //换行
i++;
}
}

return 0;
}


//用一个函数实现数据输入的功能,input的参数为输入的数据,
//函数返回值大于0表示该行输入的数据个数,0表示输入结束。 
int  input(int s[])

int i=0;//每行输入个数 
while(1)
{
scanf("%d",&s[i]);
if(s[i]==0) break;
else i++;

return i;



//用一个函数实现求平均值的功能
int Average(int n, int s[])
{
int i;
int sum=0; //ERR
for(i=0;i<n;i++)
sum+=s[i];
return (sum/n);
}


//用一个函数实现统计大于平均值的数据个数
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; ////ERR
}

追问

我是考虑sum/n有可能为实数。题目可能有点问题吧。谢谢了!

追答

不客气,你考虑是对。 我只是针对题目在检查问题

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-21
相似回答