----------------解决方案--------------------------------------------------------
你可以先排序,然后在输出最大的..
----------------解决方案--------------------------------------------------------
用数组做比较好
----------------解决方案--------------------------------------------------------
不会要把10个数,不会让我在输入里面学出10个输入数字吧,有省略的吗
还要去比较10个数,那好像很繁锁吗.谁能给个例题吗.谢谢了
----------------解决方案--------------------------------------------------------
依次比较,从第一个开始,两个比较当中较大的再和后面的比较,比较完了之后就知道哪个是最大的了
----------------解决方案--------------------------------------------------------
我不是讲了用数组么,就不会要写十个比较了啊
----------------解决方案--------------------------------------------------------
傻的办法: 循环比较,复杂度O(n^2)
好一点的:合并排序或者快排.O(n*logn).
ps:10个数而已,一个循环就行了..
----------------解决方案--------------------------------------------------------
#include <iostream>
using namespace std;
class _max
{
public:
void opmax(int n)
{
if(cnt==0)
{
maxvi=n;
minvi=n;
}
else
if(n>maxvi)
maxvi=n;
if(n<minvi)
minvi=n;
++cnt;
}
void result()
{
cout<<"max:"<<maxvi<<endl;
cout<<"min:"<<minvi<<endl;
}
_max(): cnt(0) {}
private:
int maxvi;
int minvi;
int cnt;
};
int main()
{
int iv=0;
_max text;
while(cin>>iv)
text.opmax(iv);
text.result();
system("pause");
return 0;
}
----------------解决方案--------------------------------------------------------
k=0;
for (i=0; i<9; i++)
if (a[k]<a[i])
{
t=k;
k=i;
i=k;
}
printf("%3d\n",a[k]);
----------------解决方案--------------------------------------------------------
我好像喜欢把简单的问题复杂化
----------------解决方案--------------------------------------------------------