加载中...

P1567 统计天数

P1567 统计天数

统计天数

题目描述

炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。

经历千辛万苦,他收集了连续 N(1 ≤ N ≤ 10^6) 的最高气温数据。

现在,他想知道最高气温一直上升的最长连续天数。

输入格式

第 1 行:一个整数 N 。1 ≤ N ≤ 10^6

第 2 行:N个空格隔开的整数,表示连续 N 天的最高气温。0 ≤ 最高气温 ≤ 10^9 。

输出格式

1 行:一个整数,表示最高气温一直上升的最长连续天数。

样例 #1

样例输入 #1

10
1 2 3 2 4 5 6 8 5 9

样例输出 #1

5

分析

1.a[N]用来保存需要输入的数字,b[N]是个计数器数组用来保存连续的天数

2.求b[N]的最大值max就是求连续最长的天数

3.输出max的值

提交答案

#include<stdio.h>
#define N 10000000
int main()
{
    int k=1, n=0,max,a[N],b[N];//k是计数器用来统计连续天数,将统计的数字保存在b[N]中  
    scanf("%d", &n);//n为可输入数字的个数 

        for(int i=0; i<n; i++)//向数组中输入数字 
            scanf("%d", &a[i]);
            
        for(int i=0; i<n; i++)//判断如果当前元素比后一个小,就使k++,然后将k值保存在b[i]中,否则b[i]的元素为1 
        {
            if(a[i]<a[i+1])
            {
                k++;
                b[i]=k; 
            }
            else
            {
                k=1;
                b[i]=k;
            }
        
        }
    max=b[1];//假设b[1]为最大的元素,也就是天数最多的元素 
    
    for(int i=0; i<n; i++)//求出天数最多的最大值 
        if(max<b[i])
          max=b[i];
        
        printf("%d\n",max);//输出天数最多的值 
    return 0;
}
posted @ 2023-03-13 23:18  bujidao1128  阅读(110)  评论(0)    收藏  举报