当前位置: 代码迷 >> C语言 >> 输入10个数,输出其中最大者,怎么做呢
  详细解决方案

输入10个数,输出其中最大者,怎么做呢

热度:168   发布时间:2007-11-08 11:48:00.0
输入10个数,输出其中最大者,怎么做呢
输入10个数,输出其中最大者,怎么做呢
搜索更多相关的解决方案: 最大者  输出  输入  

----------------解决方案--------------------------------------------------------
你可以先排序,然后在输出最大的..
----------------解决方案--------------------------------------------------------
用数组做比较好
----------------解决方案--------------------------------------------------------

不会要把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]);
----------------解决方案--------------------------------------------------------
我好像喜欢把简单的问题复杂化
----------------解决方案--------------------------------------------------------
  相关解决方案