5

在DevC++上运行时摁Enter没反应,在oj上提交显示运行超时?哪里有问题

 

 

 

#include <stdio.h>
int main ()
{
    int n, i, j, k, p, q, t, u, length;
    int a[100];
    int diff[100];
    
    scanf ("%d", &n);
    
       for (i = 0; i < n; i++)
       {
           scanf ("%d", &a[i]);
       }                                        //输入一个长度为n的数组
    
    
       for (j = 0; j < n; j++)
       {
           if (a[j] > a[j+1])
           {
               t = a[j];
               a[j] = a[j+1];
               a[j+1] = t;
           }
       }                                       //按从小到大顺序排列
       
       
       
       for (k = 0; k < n - 1; k++)
       {
           diff[k] = a[k+1] - a[k];
       }                                      //diff[k]相邻两项的差组成的一个新数组
       
       
    for (p = 0; p < n - 1; p++)
    {
        if (diff[p] > diff[p+1])
        {
            u = diff[p];
            diff[p] = diff [p+1];
            diff[p+1] = u;
        }
    }                                         //按从小到大顺序排列数组diff[p]
    
    
    for (q = 0, length = 0; diff[q] == 0||1; q++)
    {
        length++;
    }                                         //若diff[q]==0或1,说明连续,即length+1
    
    printf ("%d", length);                    //输出length
    return 0;
}

查看全部
Riskon
Riskon
2020/12/03 19:27
  • c++
  • c语言
  • 点赞
  • 收藏
  • 回答
    私信

4个回复