gpt4 book ai didi

c - 使用递归函数,证明数组正在增长

转载 作者:行者123 更新时间:2023-11-30 21:09:49 24 4
gpt4 key购买 nike

没有其他信息。无需担心输入错误。它适用于N = 2。我已标记出问题的出处。支架还可以。

编辑:我还没有解释这个过程。 fir是第一缩写。因此,我只是转到数组的末尾,当它达到N = 2(仅剩2个元素)时,它返回并比较该函数排序级别专用的fir和fir + 1。

X阵列

N个元素

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

int sort(int*,int,int);
int main()
{
int X[20],N,i;
printf("Number of elements: ");
scanf("%d",&N);
puts("Enter the elements ");
for(i=0;i<N;i++)
scanf("%d",X+i);
if (sort(X,N,0)==1)
printf("it is growing");
else
printf("it's not growing");
}

int sort(int*X,int N,int fir){
if (N==2){
if(X[fir]<=X[fir+1])
return 1;

//problems

else if(sort(X,N-1,fir+1)==1){
if (X[fir]<=X[fir+1])
return 1;
else
return -1;
}
else
return -1;
}
}

最佳答案

sort中的缩进和大括号缺失可能掩盖了一个问题:

int sort(int*X,int N,int fir){
if (N==2){
if(X[fir]<=X[fir+1])
return 1;

//problems

else if(sort(X,N-1,fir+1)==1){
if (X[fir]<=X[fir+1])
return 1;
else
return -1;
}
else
return -1;
}
}


添加隐式花括号,并更改缩进以使其匹配,如下所示:

int sort(int*X,int N,int fir){
if (N==2){
if(X[fir]<=X[fir+1]) {
return 1;
} else if(sort(X,N-1,fir+1)==1) {
if (X[fir]<=X[fir+1]) {
return 1;
} else {
return -1;
}
}
} else {
return -1;
}
}


这可能不是您想要的。

关于c - 使用递归函数,证明数组正在增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33443054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com