从键盘输入10个整数存放在一维数组里,找出最小的数并输出该数及其下标

从键盘输入10个整数存放在一维数组里,找出最小的数并输出该数及其下标,第1张

#include<stdioh>
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);
然后遍历数组就可以了
第一个就是最小

方法一:查找一个数组里面最小和次小的两个元素,可采用先按从小到大排序,然后,取出前两位数,得到最小和次小。但这种方法时间复杂度较高。

方法二:

先假定数组的前两位中的较小的是最小,较大的是次小

循环检查其余的元素,

若新元素小于最小,则,最小变为次小,新元素成为最小

否则,再判断新元素是否小于次小,是,则新元素变为次小

循环结束,输出两个数。

这种方法,一次遍历数组,就可以得到结果,效率比排序高出很多。

参考代码及运行效果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13340960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存