鱼C论坛

 找回密码
 立即注册
查看: 716|回复: 1

[已解决]求助

[复制链接]
发表于 2020-11-30 13:09:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入4个学生的5门成绩,分别用函数实现以下功能:
1:打印每个学生的成绩
2:求每个学生的平均分
3:求每门课的平均分
题目要求我不能调用库函数,只能自己定义函数,我刚学数组,不明白怎么弄这个
最佳答案
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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 10:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表