猫啊,活着最重要的就是开心啊!噗噗猫天天看着开心猫龇牙咧嘴得笑,决定给它构造一个开心序列,开心序列定义:序列a由n个正整数构成;

最开始序列的元素先是严格递增;
接着元素开始相同;
再接着元素开始严格递减。
注意第一部分和第三部分可以不存在。
举个例子,{1,2,3,3,2,1},{4,2},{3},{1,2}都是开心序列。

输入

第一行输入一个正整数n(1<=n<=100)为序列的个数;
第二行输入n个正整数a1, a2, …, an (1 ≤ ai ≤ 1 000),ai代表第i个元素的值。
输入结束标志为文件结束符(EOF)。

输出

如果输入序列是开心序列,那么输出“YES”,否则输出“NO”。

样例输入

3
1 2 3
4
1 2 1 3

样例输出

YES
NO

碎碎念念

写三个函数,分别判断递增、不变和递减。

代码

#include<stdio.h>
int a[100],n;
int descent(int m)
{int i;for(i=m;i<n-1;i++){if(a[i]<a[i+1]||a[i]==a[i+1])return 0;}return 1;
}
int equal(int m)
{int i;for(i=m;i<n-1;i++){if(a[i]<a[i+1]){return 0;}else if(a[i]>a[i+1]){return descent(i);}}return 1;
}
int plus()
{int i;for(i=0;i<n-1;i++){if(a[i]==a[i+1]){return equal(i);}else if(a[i]>a[i+1]){return descent(i);}}return 1;
}
int main()
{int i;while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);if(plus()==1)printf("yes\n");elseprintf("no\n");}
}

开心猫序列 C语言 函数相关推荐

  1. 开心猫序列C语言,开心猫的读后感作文

    开心猫的读后感作文 寒假,我读了一本书--<开心猫>.这本冰心奖书系的书,里面一篇篇包含深刻道理的美文,让我感受颇深.不过,这本书中给我印象最深刻的,还是<开心猫>这篇文章. ...

  2. R语言函数:length计算长度、seq生成数据序列、rep将数据对象重复N遍复制、cut将连续变量分割为多水平的因子变量、pretty将连续变量x分成n个区间创建合适的断点、cat数据对象拼接

    R语言函数:length函数计算数据对象的长度.seq函数生成数据序列(sequenceÿ

  3. R语言使用seq函数生成数据序列、seq函数在指定范围内生成固定长度的序列、指定数据序列的第一个数值、最后一个数值以及另外一个数据序列(along.with)

    R语言使用seq函数生成数据序列.seq函数在指定范围内生成固定长度的序列.指定数据序列的第一个数值.最后一个数值以及另外一个数据序列(along.with) 目录

  4. 在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...

    C语言函数 一.是什么? 是指编程中对一块功能代码的封装,可以理解一个程序片段 二.有什么用? 可以封装代码,方便调用,提高复用性 三.怎么用? 定义:  返回值类型  函数名(形参类型 参数名1-. ...

  5. c#调用c语言的自定义函数,[转]在C#中调用C语言函数(静态调用Native DLL,Windows Microsoft.Net平台)...

    对于不太了解.Net的人,如果想要了解.Net,我必须给他介绍P/Invoke.P/Invoke是什么呢?简单地说,就是在.Net中调用本地代码(Native code)的一种解决方案.所谓" ...

  6. C语言 —— 函数(一)

    C语言函数 一.C语言函数概念与定义方式 1.1.C语言的函数概念 1.2.函数定义的方式 1.2.1 .C语言无参函数的定义 1.2.2.C语言有参函数的定义 1.2.3.**!!!** 注意:C语 ...

  7. 关于C语言函数的简单理解

    关于C语言函数的简单理解 C语言中的函数 在C语言中,函数是构成程序的基本模块.程序的执行从main()函数的入口开始,到main()函数的出口结束,中间循环.往复.迭代的调用一个有一个函数.每个函数 ...

  8. c语言 重新输入,C语言函数重新输入

    C语言函数重新输入 由于使用了不受保护的系统资源(例如全局变量区,中断向量表),因此除非确保相互排斥(使用信号灯/代码的关键部分禁止中断),否则无法在多任务环境中运行等 重入函数: 没有静态数据结构不 ...

  9. C语言函数大全-- m 开头的函数(1)

    C语言函数大全 本篇介绍C语言函数大全-- m 开头的函数 1. malloc 1.1 函数说明 函数声明 函数功能 void *malloc(size_t size); 用于动态分配内存 参数: s ...

最新文章

  1. docker ps 只显示容器名称 显示列名
  2. 【03-14】日常资源访问备份
  3. IDEA创建Servlet项目
  4. OGRE 1.7.2 [Cthugha] 编译配置全过程方法
  5. JDBC数据库查询操作
  6. 《算法》C++代码 前言
  7. 【剑指offer】面试题09:用两个栈实现队列(Java)
  8. JQuery动态循环绑定事件
  9. 【mybatis】时间范围 处理时间格式问题
  10. ASP.NET MVC HandleErrorAttribute 和 远程链接
  11. 黑马程序员机器学习Day1学习笔记
  12. Struts2(Maven),小白版
  13. macOS Sierra,Xcode 8配置openCV3
  14. 企业信息与网络通信安全 团队成员简历-叶俊
  15. 微信小程序Unhandled promise rejection TypeError
  16. 人工智能是当前最好的计算机研究方向吗?
  17. 石油远程《机械设计》第一次在线作业
  18. 台媒曝大S女儿小名格格吉祥 汪小菲否认
  19. JVM垃圾回收说为学日益,为道日损
  20. 【算法笔记】二叉树之基础遍历

热门文章

  1. 西太平洋最大金枪鱼供应商丰群水产通过海洋管理委员会认证
  2. 【区块链108将】Tripio CEO 沈巍:订酒店被杀熟 区块链恰好能解决这个问题现状...
  3. 禾穗漫读 | 与自己和解:治愈你内心的内在小孩
  4. 迷你主机搭建私有云服务器
  5. 对mysql专业技能描述_工程师简历专业技能怎么写
  6. 数据分析网课学习(笔记)
  7. MenuItem和ContextMenu
  8. 计算机一级考试 试题及其答案
  9. 学习Python 免费电子书 TOP10(含下载)
  10. win10+ubuntu18.04双系统成功安装过程,附带显卡驱动安装过程