【C++函数题目】重载求数组中最小值的函数
题目来源:https://acm.ujn.edu.cn
Time Limit: 1 Sec Memory Limit: 128 MBDescription
写一个函数名称为miniElement(int array[],int n),函数的作用为返回数组array中最小的元素值.
重载函数miniElement, 使其反回浮点型数组中最小的元素值.
其中, 数组元素的个数(不超过20个)及数组元素在主函数中录入.
Input
第一行的第1个数为整型数组元素个数n,后面依次为n个整型数组元素值,
第二行的第1个数为浮点型数组元素个数n,后面依次为n个浮点型数组元素值,数据之间用空格分开
Output
第一行输出整型数组的最小元素值
第二行输出浮点型数组元素的最小元素值
Sample Input
5 20 24 10 35 68
6 10.2 12.5 14.2 78.3 60.2 54.3
Sample Output
10
10.2
1 #include<iostream> 2 using namespace std; 3 int miniElement(int array[],int n);//整型函数 4 double miniElement(double array[],int n);//浮点型函数 5 int main() 6 { 7 int n1,n2; 8 9 cin>>n1; 10 int a1[n1]; 11 for(int i=0;i<n1;i++) cin>>a1[i]; 12 cout<<miniElement(a1,n1)<<endl; 13 14 cin>>n2; 15 double a2[n2]; 16 for(int i=0;i<n2;i++) cin>>a2[i]; 17 cout<<miniElement(a2,n2)<<endl; 18 19 return 0; 20 } 21 int miniElement(int array[],int n) 22 { 23 int min = array[0];//假定下标为零的第一个元素是最小的 24 for(int i=1;i<n;i++)//遍历数组,如果有比第一个元素小的,就把较小的赋值给所求变量min 25 { 26 if(array[i]<min) 27 min = array[i]; 28 } 29 return min; 30 } 31 double miniElement(double array[],int n) 32 { 33 double min = array[0]; 34 for(int i=1;i<n;i++) 35 { 36 if(array[i]<min) 37 min = array[i]; 38 } 39 return min; 40 }
这道题整体来说难度不大,只要细心一点就好啦
需要注意的细节:
1 数组下标从0开始,for循环条件,遍历、输入、输出没有特别情况都应该是从下标0开始的
2 为保证数据精确度,浮点型用double就好啦,就别写float了
3 在寻找最小元素的时候,要注意用自己定义的min去和正在遍历的元素做比较
思考——改进:
可以为避免数组元素被改变,在3、4、21、31行数组类型前加关键字const
杏花疏影叨叨叨日常
前两天一直在做数字电路的课程设计,从周一开始,做了两天,周三上午十点半就通过了答辩检查,一遍过,这个过程还是很有意义的哈哈哈哈。
今天刚结束离散数学的小测,终于又回来继续复习C++啦,希望这两天多复习一点填一填之前网课留下的坑~
有句话怎么说的,出来混的总是要还的,期末加油冲冲冲!