学生评分数组程序中的持久分段错误

时间:2014-01-19 22:25:12

标签: c arrays loops for-loop

创建一个程序,该程序首先获得四个分配的最大点数。那么这四项作业必须要有七个学生的分数。然后,该程序必须输出七个学生中的每一个得分超过总可用点数。我无法弄清楚这个讨厌的分割错误。程序编译和输入四个作业可用的最大点工作得很好,当我尝试输入学生分数时进行分割。任何帮助将不胜感激!

#include<stdio.h>

int main (void)
{
    int array[4][8];
    int max, rows, cols, count;

    printf("Please enter the maximum points available for the four assignment");
    printf(" (add a space behind each and return when finished): \n");
    scanf("%d %d %d %d", &array[0][0], &array[1][0], &array[2][0], &array[3][0]);

    max=array[0][0]+array[1][0]+array[2][0]+array[3][0];

    printf("Please enter each students set of scores"); 
    printf(" (return after each individual score): \n");

    for(cols=1; cols<8; cols++)
    {
            for(rows=0; rows<4; rows++)
            {
                    scanf("%d", array[rows][cols]);
            }
    }

    for(count=1; count<8; count++)
    {
            for(cols=1; cols<8; cols++)
            {
            printf("The points for student #%d, count");
            printf(" (%d / %d)",array[0][cols]+array[1][cols]+array[2][cols]+array[3][cols], max);
            printf("\n");
            }
    }


    return 0;

}

1 个答案:

答案 0 :(得分:1)

你的一个引言是错误的。变化

printf("The points for student #%d, count");

printf("The points for student #%d", count);