解题思路:

注意事项:

参考代码:

/*思路:

      已知id顺序选取,则将数输入存储(空格,换行处理如下),并排序

      然后,遍历数组,若相邻数组元素差值为0(重号)

      若相邻数组元素差值为1(正常),否则为断号

      最后打印即可*/


//但该程序,一直运行超时,???百思不得其解,求助大佬


#include<stdio.h>

int main ()

{

int n,temp,x1,x2,a[100];//temp为排序时的替换变量

int i=0;                //x1,x2存储断号ID,重号ID              

scanf("%d",&n);

getchar();              //除去第一个回车

while(n--)

{

while(scanf("%d",&a[i]))   //感觉是这里的问题

{

i++;

if(getchar()=='\n')  //获取下一行

break;

else continue;

}

}

for(int k=0;k<i;k++)         //排序

for(int j=k;j<i-1;j++)

{

if(a[k]>a[j+1])

{

temp=a[k];

a[k]=a[j];

a[j]=temp;

}

else if(a[k]==a[j+1])

      x1=a[k];

}

for(int k=0;k<i-1;k++)    //检索

{

if(a[k+1]-a[k]==2)

{

           x2=a[k]+1;

           break;

}

}

printf ("%d %d",x2,x1);

return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论