最佳答案
所有成绩的最高分和最低分,是单科成绩最高分和最低分还是所有总成绩的最高分和最低分
追问:
所列出的最高分和最低分
追答:
#include #include /***********获取总成绩***********/int getAll(int mark[]){return mark[0] + mark[1] + mark[2] + mark[3];return 0;}/***********获取总成绩最高分和最低分***********/int* getAllMaxAndMin(int mark[][4]){int markAll[3] = {getAll(mark[0]), getAll(mark[1]), getAll(mark[2])};int MaxMin[2] = {markAll[0],markAll[0]};if (markAll[1] > markAll[0])if (markAll[2] > markAll[1])MaxMin[0] = markAll[2];elseMaxMin[0] = markAll[1];else if (markAll[2] > markAll[0])MaxMin[0] = markAll[2];return MaxMin;}/***********获取单科成绩最高分和最低分***********/int** getOneMaxAndMin(int mark[][4]){int **MaxMin = (int**)malloc(sizeof(int*)*2);int i=1, j=0;MaxMin[0] = (int*)malloc(sizeof(int)*4);MaxMin[1] = (int*)malloc(sizeof(int)*4);for(i=0; i<2; i++)for(j=0; j<4; j++)MaxMin[i][j] = mark[0][j];for(i=0;i<3; i++)for (j=0; j<4; j++){if (mark[i][j] > MaxMin[0][j])MaxMin[0][j] = mark[i][j];if (mark[i][j] < MaxMin[1][j])MaxMin[1][j] = mark[i][j];}return MaxMin;}int main(){int mark[3][4] = {0};int i=0, j=0;int*p, **q;for(; i<3; i++){for(j=0; j<4; j++){printf("请输入第%d名同学第%d科成绩.\n", i+1, j+1);scanf("%d", &mark[i][j]);}}q = getOneMaxAndMin(mark);printf("单科成绩最高分分别为%d, %d, %d, %d, 最低分分别为%d, %d, %d, %d\n", q[0][0], q[0][1],q[0][2], q[0][3], q[1][0], q[1][1], q[1][2], q[1][3]);p = getAllMaxAndMin(mark);printf("总成绩最高分和最低分分别为%d, %d\n", p[0],p[1]);printf("各同学平均成绩为%d, %d, %d\n",getAll(mark[0])/4, getAll(mark[1])/4, getAll(mark[2])/4);return 0;}
追问:
这么长的代码,敲出来,我也是服了,谢谢您
最佳答案由网友 1995年的老街 提供