我觉得这个数组有问题,但我不知道是什么


#include <stdio.h>
#include <stdlib.h>

int main() {
int n;
scanf("%d",& n );
int array[n];
scanf("n%d",array );
int i;
for( i=0;i<=n;i++)
if(array[i]>array[i-1]&&array[i]>array[i+1]){
printf("n%d",array[i]);
}

return 0;
}

输入是数组的大小和元素,程序应该打印比它的邻居更大的元素(它右侧和左侧的元素(

输入:5(数组的大小(
2 4 3 2 1(数组的元素(

输出:4(大于2和3(

我想你正在尝试这样做

#include <stdio.h>
int main() {
int i, n;
printf("Enter length of array : ");
scanf("%d", & n);
int array[n];
//getting values for array
printf("Enter elements of array : n");
for (i = 0; i < n; i++) {
printf("array[%d] => ", i);
scanf("%d", & array[i]);
}
printf("Output : ");
for (i = 1; i < n - 1; i++) {
if (array[i] > array[i - 1] && array[i] > array[i + 1]) {
printf("%dt", array[i]);
}
}
return 0;
}


这里需要注意的一点是,您可以使用malloc((、realloc(((进行动态分配
我想不编码答案,但你似乎对C不熟悉。
所以首先开始学习的基础知识

相关内容

  • 没有找到相关文章

最新更新