C语言 ——— 编写代码,判断 整型数组 是否 有序

目录

题目要求

代码实现


题目要求

判断 整型数组 是否有序

如果 整型数组 有序输出 sorted ;否则输出 unsorted


代码实现

复制代码
#include<stdio.h>
int main()
{
	int arr[10] = { 0 };

	int sz = sizeof(arr) / sizeof(arr[0]);

	//输入
	for (int i = 0; i < sz; i++)
	{
		scanf("%d", &arr[i]);
	}

	//判断是否有序
	int flag_left = 0;
	int flag_right = 0;

	for (int i = 0; i < sz - 1; i++)
	{
		if (arr[i] < arr[i + 1])
			flag_left = 1;

		if (arr[i] > arr[i + 1])
			flag_right = 1;
	}

	//输出
	if (flag_left + flag_right == 2)
		printf("unsorted\n");
	else
		printf("sorted\n");

	return 0;
}

代码解析:

有序无非两种情况:升序 或者 降序

**解析:int flag_left = 0; &**解析:int flag_right = 0;

flag_left 用来判断是否为 升序

flag_right 用来判断是否为 降序

解析:flag_left = 1; & 解析:flag_right = 1;

整型数组为升序 时:flag_left 会被赋值为1 ,而 flag_right 不会改变,还是0

整型数组为降序 时:flag_right 会被赋值为1 ,而 flag_left 不会改变,还是0

整型数组为乱序 时:flag_rightflag_left 都会被赋值为1

解析:if (flag_left + flag_right == 2)

flag_left + flag_right 等于2 时,那么就说明 整型数组为乱序

否则就为 升序 或者 降序

代码验证:

整型数组为升序时:

整型数组为降序时:

整数数组为乱序时:

相关推荐
小郝 小郝11 分钟前
51 与32 单片机LED控制详解
c语言·开发语言·经验分享·学习·51单片机
蓝莓星冰乐1 小时前
第一章:C语言概述与环境搭建
c语言·开发语言
_饭团1 小时前
指针核心知识:5篇系统梳理3
c语言·数据结构·算法·leetcode·面试·学习方法·改行学it
LONGZETECH2 小时前
新能源汽车维护仿真软件技术架构解析+ 教学落地实操
大数据·c语言·人工智能·架构·汽车·汽车仿真教学软件·汽车教学软件
WYH2872 小时前
FreeRTOS工程项目实践
c语言·单片机·嵌入式硬件·学习
_饭团3 小时前
指针核心知识:5篇系统梳理2
c语言·笔记·学习·leetcode·面试·改行学it
西装没钱买4 小时前
C语言组播的使用
c语言·开发语言·udp·组播·组播绑定网卡
爱编码的小八嘎5 小时前
C语言完美演绎4-3
c语言
Book思议-8 小时前
【数据结构实战】 C 语言单链表通关:初始化 / 头插 / 尾插 / 增删改查全实现(附图解、可运行完整代码)
c语言·数据结构·算法
网易独家音乐人Mike Zhou8 小时前
【嵌入式基础】Keil自动编译脚本及环境变量配置
c语言·stm32·单片机·51单片机·嵌入式·keil