C语言求三个学生四门课每个学生的平均成绩和每门课的平均成绩,并存入cx.txt中

# 求平均成绩



```c
#include<stdio.h>
#include<string.h>
void input(float score[][4])
{
    int i,j;
    printf("请输入3个学生四门课的成绩\n");
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            scanf("%f",&score[i][j]);
}
void average(float score[][4],float stave[3],float ke[4])
{
    int i,j;
    for(i=0;i<3;i++)stave[i]=0;
    for(j=0;j<4;j++)ke[j]=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            stave[i]+=score[i][j];
        stave[i]/=4;
    }
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
            ke[i]+=score[j][i];
        ke[i]/=3;
    }
    printf("第一门课  第二门课  第三门课  第四门课  平均分\n");
    output(score,stave,ke);
}
void output(float score[][4],float stave[3],float ke[4])
{
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
            printf("%-10.2f",score[i][j]);
            printf("%-10.2f",stave[i]);
        printf("\n");
    }
    for(i=0;i<4;i++)
        printf("%-10.2f",ke[i]);
}
void file_write(float score[][4],float stave[3],float ke[4])
{
    FILE *fp;
    int i,j;
    fp=fopen("F:\\cx.txt","w");
    if(fp==NULL)//打开文件
    {
        printf("cannot open file\n");
        exit(0);
    }
    for(i=0;i<4;i++)//把每科的平均成绩存入cx.txt中
        fprintf(fp,"%f ",ke[i]);
    fclose(fp);
}
int main()
{
    float score[3][4],stave[3],ke[4];
    input(score);
    average(score,stave,ke);
    file_write(score,stave,ke);
}


posted @ 2021-02-07 16:31  哈啊哈1  阅读(1369)  评论(0)    收藏  举报