输入若干个整数,将输入的数存入集合st,输出整个集合st以及集合中的最大值和最小值。
时间: 2024-05-20 22:14:26 浏览: 10
可以使用 C++ STL 中的 set 容器来实现这个功能。set 是一个有序的容器,插入元素时会自动排序,因此我们可以直接使用 set 来存储输入的整数,并通过 set 中的 begin 和 end 函数来获取整个集合 st。此外,set 中的 front 和 back 函数可以分别获取集合中的最小值和最大值。
下面是代码实现:
相关问题
输入任意十个整数存入数组中,求出最大值和最小值的和C语言
可以使用循环遍历数组,找出最大值和最小值,然后将它们相加即可。以下是示例代码:
```c
#include <stdio.h>
int main() {
int arr[10];
int i, max, min, sum;
// 读入十个整数
printf("请输入十个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
// 初始化最大值和最小值为数组的第一个元素
max = arr[0];
min = arr[0];
// 遍历数组,更新最大值和最小值
for (i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
}
// 计算最大值和最小值的和
sum = max + min;
// 输出结果
printf("最大值为%d,最小值为%d,它们的和为%d\n", max, min, sum);
return 0;
}
```
C语言从键盘输入任意十个整数存入数组中求出其中最大值和最小值的和
好的,我知道你的问题。以下是解决方案:
```c
#include <stdio.h>
int main() {
int arr[10];
int i, max, min, sum;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
max = arr[0];
min = arr[0];
sum = max + min;
for (i = 1; i < 10; i++) {
if (arr[i] > max) {
max = arr[i];
}
if (arr[i] < min) {
min = arr[i];
}
sum += arr[i];
}
sum = sum - max - min;
printf("最大值和最小值的和为:%d\n", sum);
return 0;
}
```
在这个程序中,我们使用了一个包含10个元素的整型数组,用来存储输入的10个整数。然后我们使用一个循环,将10个整数从键盘输入到数组中。
接下来,我们初始化一个变量max和一个变量min,分别表示数组中的最大值和最小值,并将它们都初始化为数组的第一个元素。然后使用另一个循环,遍历整个数组,比较每个元素与max和min的大小,更新它们的值。同时,我们还维护了一个sum变量,用来记录数组中所有元素的和。
最后,我们利用sum、max和min计算最大值和最小值的和,并输出结果。
希望这个程序对你有所帮助!