当我在数组中输入值1时,此代码不会给出答案。例如,我已经采取不了。的元素为5 然后我输入它们为2,3,1,6,4 然后输出给出2作为最小的数字和位置编号并不总是正确的 错误是什么?程序使用数组打印最小数量的n个数字的位置
#include<stdio.h>
int main()
{
int n,i,a[10],sum=0;
int small=0,pos=0;
printf("enter no of elements in array:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
small=a[0];
if(a[i] < small)
{
small=a[i];
pos=i;
}
}
printf("smallest no:%d \n",small);
printf("position:%d",pos);
}
行走代码并记下每个步骤的值(或使用调试器)。 small = a [0]是做什么的? –
也许,也许,'small = a [0];'应该在循环之前。但也许,可能呢? – AntonH