输入10个学生5门课程成绩,分别用函数求:

输入10个学生5门课程成绩,分别用函数求
【问题描述】输入10个学生5门课程成绩,分别用函数求:
(1)每个学生的平均分;(2) 每门课平均分;
(3) 每门课不及格人数。
将10个学生的全部成绩及求出的结果在屏幕上显示。



#include <iostream>
using namespace std;
int main()
{
    float s[10][5];
    int i,j;
    float sum=0;
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
            cin>>s[i][j];
    for(i=0;i<10;i++)
    {
        sum = 0;
        for(j=0;j<5;j++)
          sum += s[i][j];
        cout<<"第"<<i+1<<"个学生平均分为:"<<setprecision(2)<<sum/5<<endl;
    }
    for(i=0;i<5;i++)
    {
        sum = 0;
        for(j=0;j<10;j++)
            sum += s[j][i];
        cout<<"第"<<i+1<<"门课平均分为:"<<setprecision(2)<<sum/10<<endl;
    }
    return 0;
}
 

代码如下:

#include <iostream>
using namespace std;
#define NR 10 //人数
#define KCN 5 //课程数
//(1)
void StuAvg(float a[][KCN],float avg[])
{
    int i,j;
    //计算学生的平均成绩
    for(i=0;i<NR;i++)
    {
        avg[i] = 0;
        for(j=0;j<KCN;j++)
            avg[i] += a[i][j];
        avg[i]/= KCN;
        //printf("学生%d的平均成绩为:%.2f\n",i+1,avg[i]);
    }
}
//(2)
void KcAvg(float a[][KCN],float avgkc[])
{
    int i,j;
    for(i=0;i<KCN;i++)
    {
        avgkc[i] = 0;
        for(j=0;j<NR;j++)
            avgkc[i] += a[j][i];
        avgkc[i]/=NR;
        //printf("课程%d的平均成绩为:%.2f\n",i+1,avgkc[i]);
    }
}

//(3)显示
void show(float a[][KCN],float avg[],float avgkc[])
{
    int i,j;
    for (i=0;i<NR;i++)
    {
        printf("学生%d的成绩为:");
        for (j=0;j<KCN;j++)
        {
            printf("%.2f ",a[i][j]);
        }
        printf("平均成绩为:%.2f\n",avg[i]);
    }
    for (i=0;i<KCN;i++)
    {
        printf("课程%d的平均成绩为:%.2f\n",i+1,avgkc[i]);
    }

}



int main()
{
    float a[NR][KCN];
    int i,j;
    float avg[NR],avgkc[KCN];
    for(i=0;i<NR;i++)
    {
        for(j=0;j<KCN;j++)
            cin >> a[i][j];
    }
    //计算学生的平均成绩
    StuAvg(a,avg);
    //计算课程的平均成绩
    KcAvg(a,avgkc);
    //显示
    show(a,avg,avgkc);
    return 0;
}

 
#include <stdio.h>
int main()
{
    float s[10][5];
    int i,j,count=0;
    float sum=0;
    for(i=0;i<10;i++)
        for(j=0;j<5;j++)
            scanf("%d",&a[i][j]);
    for(i=0;i<10;i++)
    {
        sum = 0;
        for(j=0;j<5;j++)
          sum += s[i][j];
        printf("第%d个学生平均分为:%.2f\n",i+1,sum/5);
    }
    for(i=0;i<5;i++)
    {
        sum = 0;
        count = 0;
        for(j=0;j<10;j++)
        {
            sum += s[j][i];
            if(s[j][i]<60)
                count++;
            printf("第%d门课平局分为:%.2f\n",i+1,sum/10);
            printf("第%d门课不及格人数:%d\n",i+1,count);
        }
    }
    return 0;
}