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

否则就为 升序 或者 降序

代码验证:

整型数组为升序时:

整型数组为降序时:

整数数组为乱序时:

相关推荐
say_fall21 小时前
C语言编程实战:每日一题:随机链表的复制
c语言·开发语言·链表
唐·柯里昂79821 小时前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建
魂梦翩跹如雨1 天前
P8615 [蓝桥杯 2014 国 C] 拼接平方数——Java解答
java·c语言·蓝桥杯
[J] 一坚1 天前
华为OD、微软、Google、神州数码、腾讯、中兴、网易有道C/C++字符串、数组、链表、树等笔试真题精粹
c语言·数据结构·c++·算法·链表
不会编程的小寒1 天前
C and C++
java·c语言·c++
不想写笔记1 天前
C语言 操作符(下)
c语言·笔记
誰能久伴不乏1 天前
为什么 TCP 服务端重启会出现 “Address already in use”问题解析
linux·服务器·c语言·网络·c++·tcp/ip
VekiSon1 天前
gdb工具介绍
linux·c语言
黎雁·泠崖1 天前
VS2022调试通关秘籍:变量跟踪+内存分析+bug定位
c语言·bug
Bigan(安)1 天前
【奶茶Beta专项】【LVGL9.4源码分析】03-显示框架-display
linux·c语言·mcu·arm·unix