按照要求,必须用指针,且返回值必须要指针。可能有些许问题,但是运行结果暂时无误:
/*从键盘输入R行C列二维整型数组,找出每一行的次最大值并显示出来。要求:
(1)R和C为符号常量;
(2)二维数组是动态申请生成的;
(3)每一行的次最大值是利用单独的函数调用获得的;
(4)对数组元素的访问以及函数参数声明等都是利用指针实现的。
*/
/*
1 2 3 4 5
5 2 4 1 11
8 4 5 9 6
99 88 4 44 0
*/
#include<iostream>
#include<fstream>
using namespace std;
void scanf_num(int **p, int row, int col);
void print_num(int **p, int row, int col);
int *second_num(int *p, int col, int &max2);
void file_write(int **p, int *second, int row, int col);
int main()
{
int max2;
int row, col;
cout << "请输入行列:";
cin >> row >> col;
int **p = new int*[row];
int *second = new int[row];
for(int i = 0; i < row; i++)
p[i] = new int[col];
//读入数值
scanf_num(p, row, col);
//找次大值
for(int i = 0; i < row; i++)
{
*(seco