简单粗暴的写法,调用另外一个数组,按照升降序进行排序比对
#include<stdio.h>
#include<string.h>
cmp_asc_int(const void* e1, const void*e2)
{
		return *((int*)e1) - *((int*)e2);    //升序
}
cmp_desc_int(const void* e1, const void*e2)
{
	return *((int*)e2) - *((int*)e1);    //降序
}

int main()
{
	int arr[50] = { 0 }, arr1[50] = { 0 };
	int n = 0, flag = 0, i = 0;
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		scanf("%d", arr + i);
	}
	memcpy(arr1, arr, n*4);
	if (arr[1] < arr[0])
		qsort(arr1, n, sizeof(int), cmp_desc_int);
	else
		qsort(arr1, n, sizeof(int), cmp_asc_int);
	for (i = 0; i < n; i++)
	{
		if (arr[i] != arr1[i])
		{
			flag = 1;
			break;
		}
	}

	if (!flag)
		printf("sorted\n");
	else
		printf("unsorted\n");
	return 0;
}