
#include <stdio.h>
#define N 1000
int main()
{
int n, i, a[N], b[N], s = 0;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf_s("%d", &a[i]);
b[0] = a[1] - a[0];
for (i = 1; i < n - 1; i++)
{
b[i] = a[i + 1] - a[i];
if (b[i] > 0 && b[i - 1] < 0)
s++;
else
if (b[i] < 0 && b[i - 1]>0)
s++;
}
printf("%d", s);
return 0;
}
本文介绍了一个使用C语言实现的算法,该算法通过计算数组元素之间的差分,来统计波峰和波谷的数量。具体而言,程序首先读取数组的长度和元素,然后计算相邻元素的差分,最后统计并输出差分由负转正(波谷)或由正转负(波峰)的次数。

被折叠的 条评论
为什么被折叠?



