(1)min=0; 先将min赋初值为0
(2)min=i;
从数组的第一个值a[0]开始比较,当某个值比a[min]小,就将min赋为该位置
#include
main()
{ int a[10],i,min;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
min=0;
for(i=1;i<10;i++)
if(a[i]
printf("min=%d\n",min);}
你的程序本身就有问题,我改了下,你试试看吧!
如果你只是为了找最小值,楼下的都对,如果是要选择法排序就必须使用下标,一楼的达不到交换最小值和第一个值的效果,必须使用下标,另外你用的选择法,不是冒泡法,冒泡法是需要前后两个数多次交换,完成排列,选择法是先选出最小值然后和第一个交换,完成排序,从算法的复杂度比较它们的复杂度相同
(1)min=0;
(2)min=i;
这主要利用冒泡思想,选出最小的,打印输出!
2楼是对的,1楼的执行之后,a[0]的值可能发生变化。
2楼的是把最小值的下表保存在min中。输出时直接根据下标就好了。
main()
{ int a[10],i,min:
for(i=0;i<10;i++) scanf("%d",&a[i]);
____min=0___________;
for(i=1;i<10;i++) if(a[i]printf("min=&d\n",a[min]);}