xdoj习题4

气温波动

类别
流程控制

时间限制    
1S

内存限制    
256Kb

问题描述    
最近一段时间气温波动较大。已知连续若干天的气温,请给出这几天气温的最大波动值是多少,即在这几天中某天气温与前一天气温之差的绝对值最大是多少。
输入说明    
输入数据分为两行。
第一行包含了一个整数n,表示给出了连续n天的气温值,2 ≤ n ≤ 30。
第二行包含n个整数,依次表示每天的气温,气温为-20到40之间的整数。

输出说明    
输出一个整数,表示气温在这n天中的最大波动值。

输入样例    
6
2 5 5 7 -3 5

输出样例    
10

#include <stdio.h>
int main()
{
    int n,i;
    int gap[30];
    scanf("%d",&n);
    int weather[30];
    
    for(i = 0;i<n;i++)
    {
        scanf("%d",&weather[i]);
    }
    
    for(i = 0;i<n-1;i++)
    {
        if(weather[i] > weather[i+1]) 
        {
            gap[i] = weather[i] - weather[i+1];
        }
        else if(weather[i] <= weather[i+1]) 
        {
            gap[i] = weather[i+1] - weather[i];
        }
    }
    int max = gap[0];
    for(i = 0;i<n-1;i++)
    {
        if(gap[i]>max)
        {
            max = gap[i];
        }
    }
    printf("%d",max);
    return 0;
}


PM2.5


类别
流程控制
时间限制    
1S
内存限制    
256Kb
问题描述    
给出一组PM2.5数据,按以下分级标准统计各级天气的天数,并计算出PM2.5平均值。
PM2.5分级标准为:
一级优(0<=PM2.5<=50)
二级良(51<=PM2.5<=100为)
三级轻度污染(101<=PM2.5<=150)
四级中度污染(151<=PM2.5<=200)
五级重度污染(201<=PM2.5<=300)
六级严重污染(PM2.5>300)
输入说明    
输入分为两行,
第一行是一个整数n表示天数(1<n<=100);
第二行为n个非负整数Pi(0<=Pi<=1000),表示每天的PM2.5值,整数之间用空格分隔。
输出说明    
输出两行数据,
第一行为PM2.5平均值,结果保留2位小数;
第二行依次输出一级优,二级良,三级轻度污染,四级中度污染,五级重度污染,六级严重污染的天数。
输入样例    
10
50 100 120 80 200 350 400 220 180 165
输出样例    
186.50
1 2 1 3 1 2
 


#include <stdio.h>
int main()
{
    int n = 0;
    int m1 = 0;
    int m2 = 0;
    int m3 = 0;
    int m4 = 0;
    int m5 = 0;
    int m6 = 0;
    int i = 0;
    int sum = 0;
    scanf("%d",&n);
    int num[100];//注意这里数组之后在[]中的数字必须是大于0的常量,赋值后的n也不行 
    
    for(i=0;i<n;i++)
    {
        scanf("%d",&num[i]);
    }
    
    for(i=0;i<n;i++)
    {
        sum = num[i]+sum;
    }
    printf("%.2f\n",(double)sum/n);
    
    for(i=0;i<n;i++)
    {
        if(0<=num[i] && num[i]<=50)
        {
            m1++;
        }
        else if(50<num[i] && num[i]<=100)
        {
            m2++;
        }
        else if(100<num[i] && num[i]<=150)
        {
            m3++;
        }
        else if(150<num[i] && num[i]<=200)
        {
            m4++;
        }
        else if(200<num[i] && num[i]<=300)
        {
            m5++;
        }
        else if(num[i]>300)
        {
            m6++;
        }
    }
    printf("%d %d %d %d %d %d",m1,m2,m3,m4,m5,m6);
    
    
    return 0;
}

折点计数

#include<stdio.h>
int main()
{
    int n,i,m=0;//sign记录折点数量
    int a[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=1;i<n-1;i++)
    {
        if((a[i]>a[i+1] && a[i]>a[i-1]) || (a[i]<a[i+1] && a[i]<a[i-1]))
        m++;
    }
    printf("%d",m);
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北の风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值