求高手指教帮我优化一下我写的这段代码。
题目是输入一串数字(N+1个) 第一个数字为N 则其后有N个数字进行比较大小 输出次大值和次小值。 我在学校的网站监测有2个测试超时了 希望高手可以教我优化一下。
学姐对我的点评:你只要很正常的读入n 然后再读入n个数字就行了
你TLE的原因是那两个例子没有以换行符结尾(怪我啊啊啊 切腹谢罪去了)
【可是我看不懂啊,囧】
下面是我写的代码:
#include
void main()
{
int a[101];
int i=0,n,x,y,z;
do
{
scanf("%d",&a[i++]);
}
while(getchar()!='\n');
printf("\n");
n=a[0]; //第一个输入的数据定义为供比较的有n个数字。
for(x=0;x<N-1;X++) n个数字按连续位比较大小,要比较n-1次。
for(y=1;y<N-X;Y++)
if(a[y]>a[y+1])
{z=a[y];a[y]=a[y+1];a[y+1]=z;}
printf("%d %d\n",a[n-1],a[2]);
}