有请各位高手帮我编出这个题目来,小弟想到头都肿了,都想不出怎么任意定义多个数字!!
这个思路我也知道,但是重点是如何输入任意多个数字,也就是说输入的数不确定,总不能随便输一个数,到后来却发现太多或太少了吧?
1ã使ç¨C++å®ç°ï¼
ç¨c++ vector容å¨ï¼å¯ä»¥éæè¾å ¥å¤ä¸ªæ°åï¼æ¯æ¬¡push_backå³å¯
æè çè¿ä¸ªä»£ç
/****************************************************************
** min_max.cpp
** 对ç¨æ·è¾å ¥çä»»æä¸ç»åºåï¼è®¡ç®å ¶æ大å¼åæå°å¼
** 并ä¸æ¯ç¨vectorè¿ç±»å®¹å¨åå¨æ´ä¸ªåºåä¸çæ°æ®
** ææ³ï¼å®ä¹minï¼maxï¼ç¨è¾å ¥åºåç第ä¸ä¸ªå ç´ åå§å
** è¥è¾å ¥æµä¸å ç´ å°äºminï¼åç¨è¯¥å¼æ¿æ¢minï¼è¥å¤§äºmax,åæ¿æ¢æ max
** éå¤è¾å ¥
***************************************************************/
#include <iostream>
#include <cstdlib>
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 <<endl;
system("pause");
return 0;
}
2ã使ç¨Cè¯è¨å®ç°ï¼
#include<stdio.h>
#include<stdlib.h>
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;
}
ç¨c++ vector容å¨ï¼å¯ä»¥éæè¾å ¥å¤ä¸ªæ°åï¼æ¯æ¬¡push_backå³å¯
æè çè¿ä¸ªä»£ç
/****************************************************************
** min_max.cpp
** 对ç¨æ·è¾å ¥çä»»æä¸ç»åºåï¼è®¡ç®å ¶æ大å¼åæå°å¼
** 并ä¸æ¯ç¨vectorè¿ç±»å®¹å¨åå¨æ´ä¸ªåºåä¸çæ°æ®
** ææ³ï¼å®ä¹minï¼maxï¼ç¨è¾å ¥åºåç第ä¸ä¸ªå ç´ åå§å
** è¥è¾å ¥æµä¸å ç´ å°äºminï¼åç¨è¯¥å¼æ¿æ¢minï¼è¥å¤§äºmax,åæ¿æ¢æ max
** éå¤è¾å ¥
***************************************************************/
#include <iostream>
#include <cstdlib>
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 <<endl;
system("pause");
return 0;
}
2ã使ç¨Cè¯è¨å®ç°ï¼
#include<stdio.h>
#include<stdlib.h>
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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2009-04-28
用c++ vector容器,可以随意输入多个数字,每次push_back即可
或者看这个代码
/****************************************************************
** min_max.cpp
** 对用户输入的任意一组序列,计算其最大值和最小值
** 并不是用vector这类容器存储整个序列中的数据
** 思想:定义min,max,用输入序列的第一个元素初始化
** 若输入流中元素小于min,则用该值替换min,若大于max,则替换掉 max
** 重复输入
***************************************************************/
#include <iostream>
#include <cstdlib>
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 <<endl;
system("pause");
return 0;
}本回答被提问者采纳
或者看这个代码
/****************************************************************
** min_max.cpp
** 对用户输入的任意一组序列,计算其最大值和最小值
** 并不是用vector这类容器存储整个序列中的数据
** 思想:定义min,max,用输入序列的第一个元素初始化
** 若输入流中元素小于min,则用该值替换min,若大于max,则替换掉 max
** 重复输入
***************************************************************/
#include <iostream>
#include <cstdlib>
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 <<endl;
system("pause");
return 0;
}本回答被提问者采纳
第2个回答 2018-08-30
使用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])
第3个回答 2009-04-28
声明一个数组,里面只有两个元素,头两个数字可以自定义为0和1,在键盘输入一个数时就响应比较事件,比元素1小就替换掉元素1,比元素2大就替换掉元素2,最后输出在数组内剩下的两个数,一个是输入的最小,一个是最大。
补充:
可能我不太理解你的意思吧,因为最后只输出最大和最小的值,所以数组只有两个元素,用户可以根据自己的需要输入数字,做个循环输入。我的理解可能有误,见谅
补充:
可能我不太理解你的意思吧,因为最后只输出最大和最小的值,所以数组只有两个元素,用户可以根据自己的需要输入数字,做个循环输入。我的理解可能有误,见谅