JohnShouie 2018-11-03 00:54 采纳率: 0%
浏览 1060

输入十个整数,找出最小值并将其和第一个整数对换。为什么我的程序无论输入什么最后都输出37

#include
int main()
{
int min,min_loc,a[10],i;

printf("输入10个数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<10;i++)
{
if(a[i]<min)
{ min=a[i];
min_loc=i;
}
}
a[min_loc]=a[0];
a[0]=min;
printf("最小值是%d \n这是第%d个数 \n",min,min_loc+1);
printf("%d \n",a[i]);
}

  • 写回答

4条回答 默认 最新

  • weixin_37632286 2018-11-03 01:25
    关注

    int min, min_loc, a[10], i,j;

    printf("输入10个数:\n");
    for (i = 0; i<10; i++)
        scanf("%d", &a[i]);
    min = a[0];
    min_loc = 0;
    for (i = 1; i<10; i++)
    {
        if (a[i]<min)
        {
            min = a[i];
            min_loc = i;
        }
    }
    j = a[0];
    a[0] = a[min_loc];
    a[min_loc] = j;
    printf("最小值是%d \n这是第%d个数 \n", min, min_loc + 1);
    for (i = 0; i < 10; i++)
    {
        printf("%d   ", a[i]);
    }
    
    评论

报告相同问题?