|  | 
 
 发表于 2020-11-30 15:42:29
|
显示全部楼层
   本楼为最佳答案 
| 复制代码/*输入4个学生的5门成绩,分别用函数实现以下功能:
1:打印每个学生的成绩
2:求每个学生的平均分
3:求每门课的平均分*/
#include <stdio.h>
void print(float scores[][5],int m,int n)//打印每个学生的成绩
{
    int i,j;
    for(i=0;i<m;i++)
    {
        printf("第%d位学生的成绩分别为:",i+1);
        for(j=0;j<n;j++)
            printf("%f,",scores[i][j]);
        printf("\n");
    }
}
void average1(float scores[][5],float *ave1,int m,int n)//求每个学生的平均分
{
    float temp;
    int i,j;
    for(i=0;i<m;i++)
    {
        temp=0;
        for(j=0;j<n;j++)
            temp+=*(*(scores+i)+j);
        *(ave1+i)=temp/n;
    }
}
void average2(float scores[][5],float *ave1,int m,int n)//求每门课的平均分
{
    float temp;
    int i,j;
    for(i=0;i<n;i++)
    {
        temp=0;
        for(j=0;j<m;j++)
            temp+=*(*(scores+j)+i);
        *(ave1+i)=temp/m;
    }
}
int main()
{ 
    float scores[4][5],ave1[4],ave2[5];
    int i,j;
    for(i=0;i<4;i++)
        for(j=0;j<5;j++)
            scanf("%f",&scores[i][j]);
    print(scores,i,j);
    average1(scores,ave1,i,j);
    average2(scores,ave2,i,j);
    for(i=0;i<4;i++)
        printf("第%d位同学平均成绩为:%.2f\n",i+1,ave1[i]);
    for(j=0;j<5;j++)
        printf("第%d门课程的平均成绩为:%.2f\n",j+1,ave2[j]);
    return 0;
}
 | 
 |