C、输入任意9个整数,找出最大值和最小值。用c++做
时间: 2024-02-21 21:56:41 浏览: 73
可以使用C++中的数组和循环来解决这个问题。以下是一个示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int nums[9]; // 定义长度为9的整数数组
int max_num = INT_MIN; // 初始化最大值为int型的最小值
int min_num = INT_MAX; // 初始化最小值为int型的最大值
cout << "请输入9个整数:" << endl;
for (int i = 0; i < 9; i++) {
cin >> nums[i]; // 依次输入9个整数
if (nums[i] > max_num) { // 如果当前数比最大值还大,则更新最大值
max_num = nums[i];
}
if (nums[i] < min_num) { // 如果当前数比最小值还小,则更新最小值
min_num = nums[i];
}
}
cout << "最大值是:" << max_num << endl;
cout << "最小值是:" << min_num << endl;
return 0;
}
```
这个程序首先定义了一个长度为9的整数数组,然后通过循环依次输入9个整数,并且在输入的过程中不断更新最大值和最小值。最后输出最大值和最小值即可。
相关问题
使用STL算法重新做上面所给的已知题目:将一组整数的最小值替换为它的最大值。输入任意个整数,查找最大值和最小值,然后将最小值更新为最大值,最后再输出变换后的数组。 样例输入 45 89 -2 8 100 样例输出 45 89 100 8 100 提示 可使用vector<int>容器保存数组,使用vector<int>::iterator迭代器记录最大值和最小值下标,调用min_element和max_element查找最值下标,最后使用replace替换最小值为最大值。
好的,以下是使用STL算法实现的代码:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> nums; // 存放输入的整数
int num;
while (cin >> num) {
nums.push_back(num);
}
auto min_it = min_element(nums.begin(), nums.end()); // 查找最小值的迭代器
auto max_it = max_element(nums.begin(), nums.end()); // 查找最大值的迭代器
int max_num = *max_it; // 最大值
int min_num = *min_it; // 最小值
*min_it = max_num; // 将最小值替换为最大值
replace(nums.begin(), nums.end(), min_num, max_num); // 将所有最小值替换为最大值
for (auto i : nums) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
使用示例:
```
输入:45 89 -2 8 100
输出:45 89 100 8 100
```
解释:输入的整数序列为 `45 89 -2 8 100`,最小值为 `-2`,最大值为 `100`。将最小值替换为最大值后得到 `45 89 100 8 100`。
在C++中,从键盘输入10个整数,求出这10个整数的最大值和最小值,并将其输出。要求:将输入的10个整数先存入数组a中,然后再求最大值max和最小值min。
```
#include <stdio.h>
int main() {
int a[10], max, min;
printf("请输入10个整数:\n");
for(int i=0; i<10; i++) {
scanf("%d", &a[i]);
}
max = min = a[0];
for(int i=1; i<10; i++) {
if(a[i] > max) {
max = a[i];
}
if(a[i] < min) {
min = a[i];
}
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
阅读全文