Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一个简单的C、C++练习题

一个简单的C、C++练习题

作者头像
ccf19881030
发布于 2019-04-29 10:55:55
发布于 2019-04-29 10:55:55
68600
代码可运行
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客
运行总次数:0
代码可运行

1.问题描述:

给出一串数,找出这样的数,比他们前面的数都大,比它后面的数都小。 要求:输入的数个数要大于3

解答:思路,写一个函数,该函数的功能是找出指定数组当中以i为下标的数是否满足条件:

比他们前面的数都大,比它后面的数都小。若满足,则返回true,否则返回false.

源程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/*************
给出一串数,找出这样的数,比他们前面的数都大,比它后面的数都小。
要求:
输入的数个数要大于3 

思路:分别找出比前面都大并且比后面都小的数,两种情况都满足 
*************/ 


#include<stdio.h>
#define MAX_SIZE 200
bool Search(int *a ,int Length ,int i)
{
     int j,k;

     for(j = i-1;j >=0 ;j--){
           if(a[i] < a[j])
              return false;      
     }
     
      for(j = Length-1;j >= i+1 ;j--){
           if(a[i] > a[j])
          return false;
                   
     
           }

           
       
        return true;
     
}


int main()
{
    int n,a[MAX_SIZE] ,i;
    
    scanf("%d",&n);
    if(n > MAX_SIZE)
      return 0;
    for( i = 0;i < n;i++){
            scanf("%d",&a[i]);
            }
    
    for(i = 1;i < n-1; i++){
          if(Search(a,n,i)){
             printf("%d/n",a[i]);
             }
          }
    
    
    return 0;
    
}


运行情况如下:

若有以下输入:

4

1 6 2 9 10 23

则运行结果为:

9 10

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010年08月25日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c++ LeetCode (初级字符串篇) 九道算法例题代码详解(二)
原文链接:https://www.cnblogs.com/DOMLX/p/11089327.html
徐飞机
2019/07/01
1.2K0
【数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】
Rossy Yan
2024/12/24
770
【数据结构——线性表】顺序表的基本运算(头歌实践教学平台习题)【合集】
插入排序算法:直接排序与折半排序
/直接插入排序/ void Straight_Insert_Sort(Sqlist &L) { int j; for (int i = 2; i <= L.length; i++) { L.R[0] = L.R[i]; for (j = i - 1; L.R[j].key > L.R[0].key; j--) { L.R[j + 1] = L.R[j]; } L.R[j + 1] = L.R[0]; } } 我们假定记录中的第一个关键字为有序,现在,需要将从第二个关键字开始的所有记录插入到表中。
戈贝尔光和热
2018/12/27
6410
C/C++ 常用排序算法整理
(伪)冒泡排序算法: 相邻的两个元素之间,如果反序则交换数值,直到没有反序的记录为止.
王瑞MVP
2022/12/28
2720
C/CPP基础知识练习题即分析
sqrt()函数在c语言中用于计算一个非负实数的平方根,开根号;其语法为double sqrt(double)。在sqrt()函数中没有sqrt (int),但是返回值可以为int,返回值可以与int类型进行运算。
CtrlX
2022/09/23
1.2K0
C/CPP基础知识练习题即分析
C/C++练习题(一)
(分析:第一个坑:运算符优先级,+的优先级大于>>;第二个坑:当小类型变量和整型做运算的时候,会转化为int类型。
Daotin
2018/08/31
1.4K0
关于动态规划的练习题
1.给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1。
dejavu1zz
2020/10/23
3600
【实现报告】学生信息管理系统(顺序表)
(2) 程序要具有一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。
走在努力路上的自己
2024/04/02
3700
【实现报告】学生信息管理系统(顺序表)
C语言经典习题100例(八)36-40
实现思路: 利用双重for循环控制输入二维数组,再将i和j相同的数组元素累加后输出。
cutercorley
2020/07/23
2950
2015 华为 校招回忆录---篇(上)
本文由CSDN-蚍蜉撼青松【主页:http://blog.csdn.net/howeverpf】原创,转载请注明出处!
bear_fish
2018/09/20
6890
2015  华为 校招回忆录---篇(上)
与算法有关的习题二道
在猿问上回答了几道题,其中二题还不错,记录一下 题一 要求输入一串不是很长的字符串,在最大的字符后加(max),字符串没有空格,只在第一个出现最大的字符后加(max)。 例如 输入 a b z d 输出 a b z(max) d 思路, 1.0 首先把字符串变成字符数组, 2.0 在找出最大字符串位置, 3.0 最后添加(max),把字符数组变成字符串 code #include <iostream> #include<string> using namespace std; void dis
热心的社会主义接班人
2018/04/27
5980
与算法有关的习题二道
C语言每日一题(7)#145 最长的名字
​ 小明的课外班上有 N 个同学,每个同学的名字长度都不一样。请找出班上名字长度最长的同学。
对编程一片赤诚的小吴
2024/01/23
1160
C语言每日一题(7)#145 最长的名字
常见数据结构
栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算(先进后出)。这一端被称为栈顶,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
半路出学
2021/12/21
3730
动态规划-各种子序列问题集合
当i=1,则dp[1]=2;因为dp[i]会和之前每一个元素j代替进行比对,当a[i]<a[j],并且dp[j]+1>dp[i].则dp[i]=dp[j]+1
十四君
2019/11/24
4700
【C语言篇】C语言常考及易错题整理DAY3
基本数据类型的等级从低到高如下:char int long float double运算的时候是从低转到高的,表达式的类型会自动提升或者转换为参与表达式求值的最上级类型
半截诗
2024/10/09
740
【Java】基础算法练习题
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
.29.
2024/03/03
2340
【Java】基础算法练习题
十连发,Leetcode算法题分享(哈希表)
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
java技术爱好者
2021/03/26
8040
十连发,Leetcode算法题分享(哈希表)
动态规划与练习题
动态规划(Dynamic Programming)是分治思想的延伸,通俗一点来说就是大事化小,小事化无的艺术。
二肥是只大懒蓝猫
2023/03/30
3040
动态规划与练习题
题目 1675: 算法2-3~2-6:Big Bang
题意:题目的意思就是insert 是在一个地方插入一个字符串,然后delete是删除一个字符串,show是展示当前存在的所有字符串,然后search 是查找字符串然后输出字符串存在的序号。
杨鹏伟
2021/03/04
3130
【蓝桥杯省赛】冲刺练习题【绘图】倒计时【10】天
使用循环结构打印下述图形,打印行数n由用户输入。图中每行事实上包括两部分,中间间隔空格字符数m也由用户输入。 注意:两行之间没有空行。
红目香薰
2022/11/29
3590
【蓝桥杯省赛】冲刺练习题【绘图】倒计时【10】天
相关推荐
c++ LeetCode (初级字符串篇) 九道算法例题代码详解(二)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档