有什么错误吗?,为什么结果一直不对,救命

#include "stdio.h"
int main()
{
int a[5],i;
int min=a[0];
printf("\n请输入五个数判断最小值:");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<5;i++)
{
if(min>=a[i])
{

        min=a[i];
    }
}
printf("最小数为a[%d]=%d",min);

}

最后输出时min仅仅只是最小的数值,无法表示数组下标,并且你两个%d只对应一个min应该是不对的

修改如下,供参考:

#include "stdio.h"
int main()
{
    int a[5], i;
    int min = 0;
    printf("\n请输入五个数判断最小值:");
    for (i = 0; i < 5; i++)
    {
        scanf("%d", &a[i]);
    }
    for (i = 0; i < 5; i++)
    {
        if (a[min] >= a[i])
        {
            min = i;
        }
    }
    printf("最小数为a[%d]=%d", min,a[min]);
    return 0;
}