早教吧 育儿知识 作业答案 考试题库 百科 知识分享

读下列程序说出程序的功能;将其改写为传递引用参数,将findmax()函数改写成非递归函数#include<iostream.h>constsize=10;voidfindmax(int*a,intn,inti,int*pk);voidmain(){inta[size];intn=0

题目详情
读下列程序 说出程序的功能;将其改写为传递引用参数,将findmax()函数改写成非递归函数#include <iostream.h> const size=10; void findmax(int *a,int n,int i,int *pk); void main() { int a[size]; int n=0; cout<< “请输入”<<size<<”个数据:\n”; for( int i=0;i<size;i++) cin>>a[i]; findmax(a,size,0,&n); cout<<”最大的数是:”<<a[n]<<endl; cout<<”它的下标是:”<<n<<endl; } void findmax(int *a,int n,int i,int *pk) { if (i<n) { if (a[i]>a[*pk]) *pk=i; findmax(a,n,i+1,&(*pk)); } }
▼优质解答
答案和解析
程序的功能是: 从键盘上输入10个整数,输出其中的最大数及其位置。 改为传递引用参数,及findmax()函数改写成非递归函数后的程序: #include const size=10; void findmax(int *a,int n,int i,int &pk); void main() { int a[size]; int n=0; cout<< "请输入"<>a[i]; findmax(a,size,0,n); cout<<"最大的数是:"<a[pk]) pk=i; }