01/10/2018, 12:34

Nhập vào một dãy gồm n chữ số, in ra phần tử lớn thứ 2 và phần tử nhỏ thứ 2

Mọi người xem em sai ở đâu với ạ ví dụ thử với dãy 1121 115 62 92 112 thì nó lại in ra 92 và 1 )

#include<stdio.h>
int main()
{
	long n, s[100000], i, j, temp, x;
	scanf("%ld
",&n);
	x=n-1;
	for(i=1;i<=n;i++)
		scanf("%ld",&s[i]);
	for(i=1;i<=n-1;i++)
	{
		for(j=i+1;j<=n;j++)
		{
			if(s[i]>s[j])
			{
				s[i]=temp;
				s[i]=s[j];
				s[j]=temp;
			}
		}
	}
	printf("%ld",s[x]);
	printf(" ");
	printf("%ld",s[2]);
}
HK boy viết 14:45 ngày 01/10/2018
s[i]=temp;
s[i]=s[j];
s[j]=temp;

Đọc kĩ lại đoạn này nha.

Bài liên quan
0