编写一个程序,要求能够输入任意多个数字,然后输出这些数字中的最大值和最小值

2024-12-12 15:36:40
推荐回答(4个)
回答1:

1、使用C++实现:
用c++ vector容器,可以随意输入多个数字,每次push_back即可

或者看这个代码
/****************************************************************
** min_max.cpp
** 对用户输入的任意一组序列,计算其最大值和最小值
** 并不是用vector这类容器存储整个序列中的数据
** 思想:定义min,max,用输入序列的第一个元素初始化
** 若输入流中元素小于min,则用该值替换min,若大于max,则替换掉 max
** 重复输入
***************************************************************/
#include
#include
using std::cin;
using std::cout;
using std::endl;

int main()
{
int v = 0;
int min, max;

cout << "Enter numbers: ";

cin >> v;
min = max = v;

while(cin >> v)
{
if(v < min) min = v;
else if(v > max) max = v;
else;
}
cout << "min = " << min << ", max = " << max <
system("pause");
return 0;
}
2、使用C语言实现:
#include
#include

int main( )
{
int val;
int min, max;

scanf("%d", &val);
min = max = val;

//CTRL + Z 结束输入
while (scanf("%d", &val) != EOF)
{
if (val > max)
{
max = val;
}
else if (val < min)
{
min = val;
}
}
printf("max = %d;\nmin = %d;\n", max, min);

system("pause");
return 0;
}

回答2:

用c++ vector容器,可以随意输入多个数字,每次push_back即可

或者看这个代码
/****************************************************************
** min_max.cpp
** 对用户输入的任意一组序列,计算其最大值和最小值
** 并不是用vector这类容器存储整个序列中的数据
** 思想:定义min,max,用输入序列的第一个元素初始化
** 若输入流中元素小于min,则用该值替换min,若大于max,则替换掉 max
** 重复输入
***************************************************************/
#include
#include
using std::cin;
using std::cout;
using std::endl;

int main()
{
int v = 0;
int min, max;

cout << "Enter numbers: ";

cin >> v;
min = max = v;

while(cin >> v)
{
if(v < min) min = v;
else if(v > max) max = v;
else;
}
cout << "min = " << min << ", max = " << max <
system("pause");
return 0;
}

回答3:

使用python实现:

str_nums = input("请输入要比较大小的数值(用空格隔开):")
str_nums_list = str_nums.split() #生成1个数字字符列表
nums_list = []                   
for str_num in str_nums_list:    #从数字字符列表中取出数字字符
    num = int(str_num)           #将数字字符转换为数值
    nums_list.append(num)        #将数值加入列表nums_list
nums_list.sort()                 #从小到大排序
print(nums_list)                 #可以显示1下排序后的列表
print(nums_list[0])              #显示最大值
print(nums_list[-1])             #显示最小值

print("=====另一方法=====")

str_nums = input("请输入要比较大小的数值(用空格隔开):")
str_nums_list = str_nums.split() #生成1个数字字符列表
nums_list = [int(num) for num in str_nums_list] #将数字字符串转换为数字存入列表nums_list
nums_list.sort() #从小到大排序
print(nums_list)
print(nums_list[0])
print(nums_list[-1])

回答4:

声明一个数组,里面只有两个元素,头两个数字可以自定义为0和1,在键盘输入一个数时就响应比较事件,比元素1小就替换掉元素1,比元素2大就替换掉元素2,最后输出在数组内剩下的两个数,一个是输入的最小,一个是最大。
补充:
可能我不太理解你的意思吧,因为最后只输出最大和最小的值,所以数组只有两个元素,用户可以根据自己的需要输入数字,做个循环输入。我的理解可能有误,见谅