baidu_33690068
你喔o
2016-03-30 11:33

段错误:您的程序发生段错误,可能是数组越界,这是怎么回事

  • 数组越界
  • printf
 #include<stdio.h> 
int main(void)
{
    int N,p,i,j,index,temp; 
    int M;
    int input[10001];
    int cnt[10001];
    scanf("%d%d",&N,&p);
    for(i=0;i<N;i++)
    {
        scanf("%d",input[i]);
    }
    for(i=0;i<N;i++)
    {
        index=i;
        for(j=i+1;j<N-i;j++)
        {
            if(input[j]<input[index])
            index=j;
        }
        temp=input[i];
        input[i]=input[index];
        input[index]=temp;
    }

     for(i=0;i<N;i++)
     {
        M=p*input[i];
        for(j=i+1;j<N;j++)
        {
            if(M<=input[j])
            cnt[i]++;
         }
     }
     index=0;

     for(i=1;i<N-1;i++)
     {  
            if(cnt[i]>cnt[index])
            index=i;

     }
     printf("%d\n",cnt[index]);
     return 0;
}
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答