气温波动
类别
流程控制
时间限制
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);
}