c语言数组输出最大值和次大值,求给定数组的最大值与次大值
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
#include?
#define?N?20
int?main()
{
int?a[N];
int?i;
int?compare?=?0,?add?=?0;
int?max,?smax;
for(i?=?0;?i?
//????max=smax=-1;//must?be?smaller?than?any?of?a[i]
++compare;
add?+=?2;
if?(a[0]?>?a[1])?{
max?=?a[0];
smax?=?a[1];
}?else?{
max?=?a[1];
smax?=?a[0];
}
for(i?=?2;?i?
{
if(++compare?&&?a[i]>smax)
{
if(++compare?&&?a[i]>max)
{
smax=max;
max=a[i];
add+=2;
}
else
{
smax=a[i];
++add;
}
}
}
printf("\nMax:%d?subMax:%d,?Compare:%d?Add:%d\n",max,?smax,?compare,add);
//????system("pause");
return?0;
}
我覺得把第一、二元素分離出來,先比較,然后放進?max?和?smax?比設成?-1?好。
還有,assiss,定義了個?j,是不是原來打算從數組兩頭來,省一點循環?哈哈,我剛開始也是這樣,后來發現不怎么好,好像沒必要�
總結
以上是生活随笔為你收集整理的c语言数组输出最大值和次大值,求给定数组的最大值与次大值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7密码保护共享关闭不了怎么办 密码
- 下一篇: android 双人黑白棋开发博客,黑白