c语言编程问题:有3个学生4门课程的成绩,用函数计算每个学生的平均成绩,然后输出。

编写一个求3个学生的平均成绩的程序,学生成绩存放在a数组中,而求平均成绩需调用函数floataver(int(*p)[4],intn),n为学生数,每个学生有4门成绩。其... 编写一个求3个学生的平均成绩的程序,学生成绩存放在a数组中,而求平均成绩需调用函数float aver(int (*p)[4],int n),n为学生数,每个学生有4门成绩。其中a数组为:
A=┌ ┐
│65 67 70 60 │
│80 87 90 81 │
│90 99 100 98│
└ ┘
展开
 我来答
mibaoxunbei
2014-12-10 · TA获得超过906个赞
知道小有建树答主
回答量:594
采纳率:0%
帮助的人:500万
展开全部
#include "stdio.h"

float aver(int (*p)[4],int n)
{
int i;
float sum=0;
for (i=0; i<4; i++)
{
sum += p[n][i];
}
return sum/4.;
}

void main()
{
int A[][4] = { { 65, 67,  70, 60 },
               { 80, 87,  90, 81 },
               { 90, 99, 100, 98 }};

int i;
for (i=0; i<3; i++)
{
printf("第%d个学生平均成绩为%.2f\n", i+1, aver(A, i));
}
}

运行结果如下:


请采纳

追问
腻害,太谢谢了!!
追答
不客气
4747哦
2019-07-20 · TA获得超过675个赞
知道小有建树答主
回答量:365
采纳率:73%
帮助的人:70.8万
展开全部
#include<stdio.h>
void xsaver(float (*p1)[4],int n) //每个学生的平均分
{
float stud[n];int i,j;
stud[0]=0;stud[1]=0;stud[2]=0;
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
stud[i]+=*(*(p1+i)+j);
printf("stud[%d]=%5.2f\t",i,stud[i]/4);
}
printf("\n");
}
void kcaver(float (*p)[4],int n)//每门课程的平均分
{
int i,j;float course[n];
course[0]=0;course[1]=0;course[2]=0;course[3]=0;
for(j=0;j<n;j++)
{
for(i=0;i<3;i++)
course[j]+=*(*(p+i)+j);
printf("course[%d]=%5.2f\t",j,course[j]/3);
}
}
void max(float *p,int n)//p=*score=score[0],score[0]是个列指针,p也是列指针
{
float max=*p;int maxi,maxj,k=0;
for(int j=0;j<=n-1;j++)
if(*(p+j)>max){max=*(p+j);k=j;}
maxi=k/4;maxj=k%4;
printf("\nk=%d maxi=%d maxj=%d max=%5.2f\n",k,maxi,maxj,max);
}
int main()
{
float score[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
xsaver(score,3);//每个学生的平均分
kcaver(score,4);//每门课程的平均分
max(*score,12);//求最高分
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式