题解 | #有序序列判断#

有序序列判断

https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e

#include <stdio.h>

int sort(int arr[], int n)
{
	
	if (arr[0] >= arr[1])
	{
			int flag = 0;//假设为有序状态
			for (int j = 0; j < n - 1; j++)
			{
				if (arr[j] < arr[j + 1])//因为我们前面有arr[0]>arr[1],所以这里如果有这种情况的话,就不是有序的,那我们就把flag改为无序状态
				{
					flag = 1;
				}
			}
			return flag;
	}
	else 
	{
		int flag = 0;
		for (int j = 0; j < n - 1; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				flag = 1;
			}
		}
		return flag;
	}
}
int main()
{
	int n = 0;
	scanf("%d", &n);
	int arr[50];
	for (int i = 0; i < n; i++)
	{
		scanf("%d",&arr[i]);
	}
	int ret = sort(arr, n);
	if (ret == 1)
	{
		printf("unsorted");
	}
	else
	{
		printf("sorted");
	}

	return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务