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 时,那么就说明 整型数组为乱序

否则就为 升序 或者 降序

代码验证:

整型数组为升序时:

整型数组为降序时:

整数数组为乱序时:

相关推荐
Want5956 小时前
C/C++圣诞树①
c语言·开发语言·c++
l1t8 小时前
轻量级XML读写库Mini-XML的编译和使用
xml·c语言·解析器
小莞尔9 小时前
【51单片机】【protues仿真】基于51单片机停车场的车位管理系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
xianyinsuifeng10 小时前
Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
c语言·数据库·oracle
学c语言的枫子11 小时前
数据结构——双向链表
c语言·数据结构·链表
3壹12 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
etcix13 小时前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
曙曙学编程14 小时前
stm32——独立看门狗,RTC
c语言·c++·stm32·单片机·嵌入式硬件
晨非辰16 小时前
#C语言——刷题攻略:牛客编程入门训练(九):攻克 分支控制(三)、循环控制(一),轻松拿捏!
c语言·开发语言·经验分享·学习方法·visual studio
陈序猿(代码自用版)16 小时前
【考研C语言编程题】数组元素批量插入实现(含图示+三部曲拆解)
c语言·开发语言·考研