题目为
输入一个正整数n,再输入n个学生的成绩,自定义ave(int a[],int n)函数计算平均成绩,并统计不及格学生的人数。
输入5
5个数为78 90 56 64 45
输出样例:
Grade average =66.60
Number of failures =2
代码为
想问一下为什么输出的第二个数据输出错了
题目为
输入一个正整数n,再输入n个学生的成绩,自定义ave(int a[],int n)函数计算平均成绩,并统计不及格学生的人数。
输入5
5个数为78 90 56 64 45
输出样例:
Grade average =66.60
Number of failures =2
代码为
修改如下,供参考:
#include <stdio.h>
double ave(int a[], int n);//函数声明
int main()
{
int count=0,i,n,a[5];
double grade=0,total=0;
scanf("%d", &n); //输入 n
for(i=0;i<n;i++)
scanf("%d", &a[i]);//输入 n 个数
total = ave(a,n); //调用函数求平均值
for(i=0;i<n;i++)
if(a[i] < 60)
count++; //统计不及格学生人数
printf("Grade average = %.2f\n",total);
printf("Number of failures = %d\n",count);
system("pause");
return 0;
}
double ave(int a[], int n)//函数实现
{
int i;
double sum=0;
for(i=0;i<n;i++)
sum += a[i]; //求成绩和
sum = sum / n; //得平均成绩
return sum; //将平均值返回主函数
}