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_right 和 flag_left 都会被赋值为1

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

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

否则就为 升序 或者 降序

代码验证:

整型数组为升序时:

整型数组为降序时:

整数数组为乱序时:

相关推荐
听风说ml12 小时前
socket编程 【C语言】
c语言·udp·tcp·socket编程
学逆向的14 小时前
C 局部静态变量
c语言·开发语言·网络安全
Zwawa21 小时前
从 printf 到曲线:把数据送上 VOFA+
c语言·单片机·嵌入式
二十七日秋1 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
abc light1 天前
ARM 裸机开发(1)——ARM 体系结构
c语言·arm开发
Navigator_Z1 天前
LeetCode //C - 1309. Decrypt String from Alphabet to Integer Mapping
c语言·算法·leetcode
爱聊灵光的维C1 天前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法
wuminyu1 天前
JVM规范学习总结:class执行性能差异
java·linux·c语言·jvm·c++
C++ 老炮儿的技术栈1 天前
Linux 动态库踩坑:明明重新编译了 .so,调用函数返回值却一直不变(libfjrobot.so 版本号异常排查实录)
linux·c语言·网络·c++·visual studio
小向是个Der1 天前
嵌入式进阶——MCU上电后的动作
c语言·单片机·mcu·学习·链接脚本