求波峰波谷值
函数功能:从a组数组中提取size_b个连续的波峰波谷值放入b数组中。
1 #include <stdio.h> 2 3 int a[20] = 4 { 5 43, 57, 43, 91, 96, 81, 13, 99, 44, 46, 43, 88, 24, 81, 20, 77, 66, 22, 75, 90 6 }; 7 int b[20]; 8 9 int maxmin(int a[], int b[], int size_a, int size_b) 10 { 11 int i = 0, j = 0; 12 for (i = 0; i < size_a - 1;) 13 { 14 while (a[i] < a[i + 1]) 15 { 16 i++; 17 } 18 b[j++] = a[i]; 19 20 if (j >= size_b) 21 return j; 22 while (a[i] > a[i + 1]) 23 { 24 i++; 25 } 26 b[j++] = a[i]; 27 if (j >= size_b) 28 return j; 29 } 30 } 31 int main(int argc, char **argv) 32 { 33 int i = 0, j = 0; 34 j = maxmin(a, b, 20, 8); 35 36 for (i = 0; i < 8; i++) 37 { 38 printf("b[%d] = %d\n", i, b[i]); 39 } 40 printf("\n"); 41 42 return 0; 43 }
结果:
1 b[0] = 57 2 b[1] = 43 3 b[2] = 96 4 b[3] = 13 5 b[4] = 99 6 b[5] = 44 7 b[6] = 46 8 b[7] = 43 9 10 请按任意键继续. . .

浙公网安备 33010602011771号