找最小值和次小值小值,结果输不出来😰

#include
#define N 100
int data[N];
int min,submin;
int minIndex,subminIndex;
void find(int);
int main()
{
int i,n;
printf("请输入数据个数n:");
scanf("%d",&n);
printf("请依次输入n个数据:");
for(i=0;i
scanf("%d",data[i]);
find(n);
printf("\n数组最小值是第%d个数据,数值是%d\n",minIndex+1,min);
printf("\n数组的次最小值是第%d个数据,数值是%d\n",subminIndex+1,submin);
return 0;
}
void find(int len)
{
int i;
min=data[0];
for(i=1;i
{
if(min>data[i])
{
min=data[i];
minIndex=i;
}
}
submin=data[0];
for(i=1;i
{
if((submin>data[i])&&(i!=minIndex))
{
submin=data[i];
subminIndex=i;
}
}

}
每次运行完之后都没有结果,怎么回事?😅

scanf输入写错了,函数写的也不对,修改如下:


#include<stdio.h>
#define N 100
int data[N];
int min1,submin;
int minIndex,subminIndex;
void find(int);
int main()
{
    int i,n;
    printf("请输入数据个数n:");
    scanf("%d",&n);
    printf("请依次输入n个数据:");
    for(i=0;i<n;i++)
        scanf("%d",&data[i]);
    find(n);
    printf("\n数组最小值是第%d个数据,数值是%d\n",minIndex+1,min1);
    printf("\n数组的次最小值是第%d个数据,数值是%d\n",subminIndex+1,submin);
    return 0;
}
void find(int len)
{
    minIndex=0;
    min1=data[0];
    subminIndex=-1;
    for(int i=1;i<len;i++)
    {
        if(data[i] < min1)
        {
            submin = min1;
            subminIndex = minIndex;
            min1 = data[i];
            minIndex=  i;
        }
        else if(subminIndex < 0 || data[i] < submin)
        {
            submin = data[i];
            subminIndex = i;
        }
    }

}

scanf("%d", &data[i]); 输入要取地址 &