好文档 - 专业文书写作范文服务资料分享网站

C语言编程练习 14.1课下编程练习

天下 分享 时间: 加入收藏 我要投稿 点赞

2

寻找最高分成绩的学生(4分)

题目内容:

下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。程序的运行结果如下所示:

Input array size m,n:

3,4↙

Input 3*4 array:

80 82 63 74↙

60 81 75 68↙

87 91 78 92↙

maxScore = 92, class = 3, number = 4

按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

1. #include 2. #include 3. void InputScore(int *p, int m, int n); 4. int FindMax(int *p, int m, int n, int *pRow, int *pCol); 5. int main() 6. { 7. int *pScore, m, n, maxScore, row, col; 8. printf(\); 9. scanf(\, &m, &n); 10. ___________________; /* 申请动态内存 */ 11. 12. if (pScore == NULL) 13. { 14. printf(\); 15. exit(0); 16. } 17. InputScore(pScore, m, n); 18. maxScore = FindMax(________________); 19. 20. printf(\, maxScore, row+1, col+1); 21. free(pScore); /* 释放动态内存 */

22. return 0; 23. } 24. 25. /* 函数功能:输入m行n列二维数组的值 */ 26. void InputScore(_______, int m, int n) 27. { 28. int i, j; 29. printf(\, m, n); 30. for (i=0; i

输入格式:

输入数组大小格式:\

输入数组元素格式:\

输出格式:

输入数组大小的提示信息:\

输入数组元素的提示信息:\

输出数据格式:\

为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。

时间限制:500ms内存限制:32000kb C #include #include void InputScore(int *p, int m, int n); int FindMax(int *p, int m, int n, int *pRow, int *pCol); int main() { int *pScore, m, n, maxScore, row, col; printf(\ scanf(\ pScore=(int*)malloc(m*n*sizeof(int)); /* 申请动态内存 */ if (pScore == NULL) { printf(\ exit(0); } InputScore(pScore, m, n); maxScore = FindMax(pScore,m,n,&row,&col); printf(\ free(pScore); /* 释放动态内存 */ return 0; } /* 函数功能:输入m行n列二维数组的值 */ void InputScore(int* p, int m, int n) { int i, j; printf(\ for (i=0; imax) { max = p[i*n+j]; *pRow = i; /*记录行下标*/ *pCol = j; /*记录列下标*/ } } } return max; } 用例测试结运行果 时间 用例1通过 2ms 占用内存 256kb 提示 得分 2 2 用例2通过 26ms 256kb 提交答案 本次得分/总分:4.00/4.00分 3 程序改错(4分) 题目内容: 下面程序的功能是输入m个学生(最多为30人)n门课程(最多为5门)的成绩,然后计算并打印每个学生各门课的总分和平均分。其中,m和n的值由用户从键盘输入。希望的运行结果为:

程序运行结果如下:

How many students?

4↙

How many courses?

3↙

Input scores:

60 60 60↙

70 70 70↙

80 80 80↙

90 90 90↙

Result:

60 60 60 180 60.0

70 70 70 210 70.0

80 80 80 240 80.0

90 90 90 270 90.0

目前程序存在错误,请找出错误所在并加以改正。

1. #include 2. #define STUD 30 /* 最多可能的学生人数 */ 3. #define COURSE 5 /* 最多可能的考试科目数 */ 4. void Total(int *pScore, int sum[], float aver[], int m, int n); 5. void Print(int *pScore, int sum[], float aver[], int m, int n); 6. int main() 7. { 8. int i, j, m, n, score[STUD][COURSE], sum[STUD]; 9. float aver[STUD]; 10. printf(\); 11. scanf(\, &m); 12. printf(\); 13. scanf(\, &n); 14. printf(\); 15. 16. for (i=0; i

C语言编程练习 14.1课下编程练习

2寻找最高分成绩的学生(4分)题目内容:下面程序的功能是用动态数组编程输入任意m个班学生(每班n个学生)的某门课的成绩,计算最高分,并指出具有该最高分成绩的学生是第几个班的第几个学生。其中,m和n的值由用户从键盘任意输入(不限定m和n的上限值)。程序的运行结果如下所示:Inputarraysize
推荐度:
点击下载文档文档为doc格式
4n0qm5h7r11j03v4iv5u208bi780fr00a4j
领取福利

微信扫码领取福利

微信扫码分享