【C++函数题目】重载求数组中最小值的函数

题目来源:https://acm.ujn.edu.cn

Time Limit: 1 Sec  Memory Limit: 128 MB

Description

写一个函数名称为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++啦,希望这两天多复习一点填一填之前网课留下的坑~

有句话怎么说的,出来混的总是要还的,期末加油冲冲冲!

posted @ 2022-06-09 20:31  杏花疏影  阅读(536)  评论(0)    收藏  举报