设计一个程序,要求有以下功能:
(1)声明一个长度为10的整型数组;
(2)输入数组元素;
(3)寻找数组中的最大值元素和这个元素的下标;
(4)输出最大值元素的值和它的下标值。
坑一:数组在函数的传递是地址传递
坑二:函数初始化存储最大最小值,要采用利用数组中的元素值来初始化
坑三:对函数最大值最小值的逻辑判断
#include <iostream> using namespace std; void Input(int [],int);//输入 void Cout_Max(int *,int);//打印最大值和下标 void Cout_Min(int *,int);//打印最小值和下标 int main() { int p[10]={};//定义p数组,并初始化 Input(p,sizeof(p)/sizeof(p[0])); // Cout_Max(p,sizeof(p)/sizeof(p[0])); Cout_Min(p,sizeof(p)/sizeof(p[0])); return 0; } void Input(int p[],int n){ for(int i = 0;i<n;i++){ cout<<"Please input "<<i+1<<"'s numbers :"; cin>>p[i]; } }; void Cout_Max(int p[],int n){ int max = p[0];//初始化为p中的元素 int mark = 0; for(int i = 0;i<n;i++){ if(max < p[i]){ max = p[i]; mark = i;//返回下标不用+1 } } cout<<"The max is :"<<max<<" The mark is:"<<mark<<endl; };//打印最大值和下标 void Cout_Min(int p[],int n ){ int min = p[0]; int mark = 0; for(int i = 0;i<n;i++){ if(min > p[i]) { min = p[i]; mark = i;//返回下标不用+1 } } cout<<"The min is :"<<min<<" The mark is:"<<mark<<endl; };