int main()
{
int temp,num[10],i=0;
while(i)
if(i<10)
{ num[i++]=getchar();
i++;
}
else
break;
i=0;
temp=num[0];
while(i)
if(i<10 && temp>num[i])
temp=a[i];
else
{
printf("%d",temp);
break;
}
return 0;
}import javautil;
int [ ] num = new int[ ] {12,45,67,3,45,78,19,9854 }
Arrayssort(num);
然后遍历数组就可以了
第一个就是最小的
方法一:查找一个数组里面最小和次小的两个元素,可采用先按从小到大排序,然后,取出前两位数,得到最小和次小。但这种方法时间复杂度较高。
方法二:
先假定数组的前两位中的较小的是最小,较大的是次小
循环检查其余的元素,
若新元素小于最小,则,最小变为次小,新元素成为最小
否则,再判断新元素是否小于次小,是,则新元素变为次小
循环结束,输出两个数。
这种方法,一次遍历数组,就可以得到结果,效率比排序高出很多。
参考代码及运行效果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)