anhongkiusu 发表于 2020-11-30 13:09:15

求助

输入4个学生的5门成绩,分别用函数实现以下功能:
1:打印每个学生的成绩
2:求每个学生的平均分
3:求每门课的平均分
题目要求我不能调用库函数,只能自己定义函数,我刚学数组,不明白怎么弄这个

sunrise085 发表于 2020-11-30 15:42:29

/*输入4个学生的5门成绩,分别用函数实现以下功能:
1:打印每个学生的成绩
2:求每个学生的平均分
3:求每门课的平均分*/
#include <stdio.h>
void print(float scores[],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);
      printf("\n");
    }
}
void average1(float scores[],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[],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,ave1,ave2;
    int i,j;
    for(i=0;i<4;i++)
      for(j=0;j<5;j++)
            scanf("%f",&scores);
    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);
    for(j=0;j<5;j++)
      printf("第%d门课程的平均成绩为:%.2f\n",j+1,ave2);
    return 0;
}
页: [1]
查看完整版本: 求助