输入格式
45
12
6
3
0
输出格式
max=45
min=3
1.最简洁的方法
#include<iostream>
using namespace std;
int main()
{
int a;
int max = 0;
int min =0;
while (cin >> a && a)//输入,输入的数为0时停止
{
if (min == 0)
{
min = a;//给min一个值,防止因min初值为0而一直是最小值
}
if (a > max)
{
max = a;
}
else if (a < min&&a>0)//负数不参与比较
{
min = a;
}
}
cout << "max=" << max << endl << "min=" << min;
}
2.使用数组(复杂,不推荐)
#include<iomanip>
#include<iostream>
using namespace std;
int main()
{
int a[100];
int i = 0;
int max = 0;
int min =0;
while (cin >> a[i]&&a[i])//输入,输入的数为0时停止
{ //因为循环判定条件中0为假,非0为真,所以输入的数为0时会停止
i++;
}
i = 0;
min = a[0];//随便找一个数,否则最小值一直为0
while (a[i])//比较大小,0和负数不参与比较
{ //当a[i]!=0时进入循环比较,当a[i]!=0时不进入循环
if (a[i] > max)
{
max = a[i];
}
if (a[i] < min&&a[i]>0)//负数不参与比较,所以条件中有a[i]>0
{
min = a[i];
}
i++;
}
cout << "max=" << max << endl << "min=" << min;
}
最近总是使用数组,忽略了简单的方法 。