【问题标题】:C program to calculate average and min of test scoresC程序计算考试成绩的平均值和最小值
【发布时间】:2015-12-08 18:27:01
【问题描述】:

我正在尝试编写一个程序来查找学生的平均考试成绩。我还想找到最低分并在计算平均值时将其删除。然后我想显示每个学生的所有 4 个测验分数以及最低分数和平均分数。

这是我写的:

int findMin(int student, int scores[3][4]){
    int i;
    int min=scores[student][0];
    for(i=0 ;i<4;i++){
        if(scores[student][i]<=min)
        min= scores[student][i];
    }
    return min;
}
float getAverage(int student, int min, int scores[3][4])
{
    float tot=0.0;
    int i;
    float average;
    for(i=0 ;i<4;i++)
    {
        tot=tot+scores[student][i];
    }
    tot=tot-min;
    average=tot/3.0;
    return average;
}
void printTable(int scores[3][4], int min[3], float avg[3])
{
    int i,j;
    for(i=0;i<3;i++){
        for(j=0;j<4;j++){
        }
    }
}
int main(){
    int scores[3][4];
    printf("Enter score for first sdudent:\n");
        int j=0;
    for(j=0;j<4;j++){
        scanf("%d",& scores[0][j]);
    }
    printf("Enter score for second sdudent:\n");
        j=0;
    for(j=0;j<4;j++){
        scanf("%d",& scores[1][j]);
    }
    printf("Enter score for third sdudent:\n");
        j=0;
    for(j=0;j<4;j++){
        scanf("%d",& scores[2][j]);
    }
    int min[3];
    float avg[3];
    int i=0;
    for(i=0;i<3;i++) {
        min[i]=findMin(i, scores);
        avg[i]=getAverage(i, min[i],scores);
    }
    printTable(scores, min, avg);
    return 0;
}

它不输出平均值和主值。我做错了什么?

【问题讨论】:

  • 如果你从不在printTable 中打印任何东西,它会如何输出?如果您不明白我的意思,请尝试使用此行进行编译:gcc my_file.c -Wall -Wextra -o my_file.out
  • 您在printTable 中的嵌套for 循环是个问题。它不输出,因为它什么都不做。

标签: c


【解决方案1】:

我认为你错过了 printTable 函数中的 printf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 2019-08-25
    相关资源
    最近更新 更多