前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个简单的C、C++练习题

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

作者头像
ccf19881030
发布2019-04-29 18:55:55
6440
发布2019-04-29 18:55:55
举报
文章被收录于专栏:ccf19881030的博客ccf19881030的博客

1.问题描述:

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

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

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

源程序:

代码语言:javascript
复制
/*************
给出一串数,找出这样的数,比他们前面的数都大,比它后面的数都小。
要求:
输入的数个数要大于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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档