PTA 7-491 3名同学5门课程成绩,输出最好成绩及所在的行和列(要求指针作为函数的参数)
分数 10
作者 jibaoyu
单位 江西理工大学
编程:数组存储3名同学5门课程成绩
输出最好成绩及所在的行和列
要求:将输入、查找和打印的功能编写成函数
并将二维数组通过指针参数传递的方式由主函数传递到子函数中
输入格式:
每行输入一个同学的5门课的成绩,每个成绩之间空一格,见输入样例
输出格式:
输出共3行:
第一行输出,如:最高分是:97
第二行输出最高分所在的行数,如:行数是:2
第二行输出最高分所在的列数,如:列数是:3
输入样例:
在这里给出一组输入。例如:
87 67 76 78 85
92 78 79 86 88
79 85 87 97 89
输出样例:
在这里给出相应的输出。例如:
最高分是:97
行数是:2
列数是:3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
void PutsData(int *p){
int Numb = -1; //记录最大的数
int m = 0, n = 0; //记录行列
for(int i = 0; i < 3; i++){ //输入数据
for(int j = 0; j < 5; j++){
scanf("%d ", &*p);
if(*p > Numb){ //寻找最大的数
Numb = *p;
m = i; //标记行
n = j; //标记列
}
p++;
}
}
printf("最高分是:%d\n行数是:%d\n列数是:%d", Numb, m, n); //按照题目要求输出
}
int main(){
int Transcript[3][5] = {0}; //定义二维数组
int *Arr = &Transcript; //定义指针并指向数组的首地址
PutsData(Arr);
return 0;
}
解题思路:
step1:定义数组和指针,并且指向该数组的首地址。
step2:将指针作为函数的参数并将数据储存数组中
step3:找到最大的数并记录位置
step4:按照题目要求输出
归属知识点:
数组
指针
函数
循环结构