如何打印用户在C++中输入的 10 个数字的最小值
How to print the smallest value of 10 numbers entered by the user in C++
该程序从用户那里读取10个整数并打印最小的数字。所以这是我的代码示例:
#include <iostream>
using namespace std;
int main () {
int n,min=1;
for (int i = 0 ; i<10 ; i++){
cin>>n;
if (n<min)
min = n;
}
cout <<min;
}
所以这是我的问题:如果我从 1 到 2 输入,为什么我会打印"1",您可能会说因为 if 条件不会执行任何内容,所以它会打印初始化的"1"所以有没有另一种方法可以编码?
若要根据值计算最小值,不应初始化变量。假设您拥有的第一个值是最小值,然后开始循环。
cin>>n;
min=n;
为了与我们希望最小值为 10 个数字的事实保持一致,我们需要少迭代一次。
为此,只需更改
for (int i = 0 ; i<10 ; i++)
自
for (int i = 0 ; i<9 ; i++)
您正在输出1
,因为这是您初始化min
的值,并且如果您输入的所有值都大于 1,则循环永远不会更新min
。
您需要将min
初始化为输入的第一个值:
#include <iostream>
int main () {
int n, min;
for (int i = 0; i < 10; i++) {
std::cin >> n;
if ((n < min) || (i == 0))
min = n;
}
std::cout << min;
return 0;
}
或:
#include <iostream>
int main () {
int n, min;
cin >> min;
for (int i = 1; i < 10 ; i++) {
std::cin >> n;
if (n < min)
min = n;
}
std::cout << min;
return 0;
}
或者,将值放在数组中并使用std::min_element()
:
#include <iostream>
#include <algorithm>
int main () {
int arr[10];
for (int i = 0; i < 10; i++) {
std::cin >> arr[i];
}
std::cout << *std::min_element(arr, arr+10);
return 0;
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 使用递归的数组的最小值.这是怎么回事
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 在二维数组中查找最小值和最大值?
- 有没有办法使用递归函数找到数组中最小值的 INDEX?C++
- 程序以使用 C++ 中的 while 循环查找一组数字的最小值
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- 从C++的用户输入中查找最小值
- 如何正确找到用户输入的最小值
- 将最大最小值的数据与可变数量的输入进行比较 C++
- 如何打印用户在C++中输入的 10 个数字的最小值
- 显示将来自用户输入的数组的最小值和最大值
- 试图通过函数查找数组的最大值和最小值,其中数组值由用户输入
- 在C++中,我需要创建一个程序,该程序在输入某个数字时循环并停止,然后显示最大值和最小值
- 如何将用户输入的最小值限制为流大小减去一位
- 需要帮助在填充了用户输入的向量中搜索最小值
- 通过用户输入查找c++中的最大值和最小值
- 查找输入值的平均值、最大值和最小值
- C++循环查找用户输入的最小值、最大值、平均值和总和
- 如何计算用户输入列表的最大值、最小值和平均值