C++ 求一维数组中最大、最小元素
时间: 2023-05-28 22:07:52 浏览: 58
可以使用循环遍历数组,利用一个变量记录最大值和最小值,每次循环比较更新即可。
示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {3, 5, 2, 9, 1, 7, 4, 8, 6};
int len = sizeof(arr) / sizeof(int);
int max = arr[0], min = arr[0];
for (int i = 1; i < len; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
printf("The maximum element is %d\n", max);
printf("The minimum element is %d\n", min);
return 0;
}
```
输出结果:
```
The maximum element is 9
The minimum element is 1
```
相关问题
用c++求一个一维数组中元素的最大最小和平均值
好的,我知道了。对于您的问题,以下是求解一维数组中元素的最大值、最小值、和、平均值的 C 代码示例:
```c
#include <stdio.h>
int main()
{
int arr[] = {10, 5, 30, 15, 20};
int n = sizeof(arr) / sizeof(arr[0]); // 数组元素个数
int i;
int max = arr[0], min = arr[0], sum = 0;
double avg;
for(i = 0; i < n; i++)
{
if(arr[i] > max)
{
max = arr[i];
}
if(arr[i] < min)
{
min = arr[i];
}
sum += arr[i];
}
avg = (double)sum / n;
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
printf("和为:%d\n", sum);
printf("平均值为:%f\n", avg);
return 0;
}
```
运行结果如下:
```
最大值为:30
最小值为:5
和为:80
平均值为:16.000000
```
希望这可以帮助您解决问题。
求一个一维数组中元素的最大最小和平均值
好的,以下是针对您的第一个问题的回答:
假设这个一维数组为arr,数组长度为n,则
最大值为:max = arr[0];
最小值为:min = arr[0];
所有元素的和为:sum = 0;
平均值为:avg = 0;
遍历数组,对于每个元素:
如果该元素大于max,则将max更新为当前元素;
如果该元素小于min,则将min更新为当前元素;
将该元素加入到sum中;
最后将sum除以n,得到平均值avg。
C++代码实现:
```c++
#include<iostream>
using namespace std;
int main(){
int arr[] = {5, 8, 2, 6, 1, 9, 4, 7, 3};
int n = sizeof(arr) / sizeof(arr[0]);
int max = arr[0];
int min = arr[0];
int sum = 0;
double avg = 0.0;
for(int i = 0; i < n; i++){
if(arr[i] > max){
max = arr[i];
}
if(arr[i] < min){
min = arr[i];
}
sum += arr[i];
}
avg = (double)sum / n;
cout<<"Max: "<<max<<endl;
cout<<"Min: "<<min<<endl;
cout<<"Sum: "<<sum<<endl;
cout<<"Avg: "<<avg<<endl;
return 0;
}
```
希望这个回答对您有所帮助!