設計一個程序,要求有以下功能:
(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; };