用递归算法求n个数中的最大数及其位置 c++
收起
知与谁同
2018-07-22 17:01:19
2838
0
3
条回答
写回答
取消
提交回答
-
是求和,还是什么。比如求1到100的和。
2019-07-17 22:54:59
-
为什么非要用递归呢。感觉好难哦
2019-07-17 22:54:59
-
int max(int n, int numbers[], int index)
{
if(index < (n-1)) {
if(numbers[index] > numbers[index+1])
numbers[index+1] = numbers[index]; //没到最后位则把大数放后面
index++;
return max(n, numbers, index);
};
else if(index == (n-1)) {
return numbers[index]; //到最后位直接返回最后位就是最大的
};
else {
return -1; //数组越界时返回-1
};
};
void main(void)
{
int numbers[]={1,3,8,2,4,6};
int N=6;
int R = max(N,numbers,0));
for (int i = 0; i < N; ++i) {
if (number[i] == R) {
printf("LOCATION: %d.\n", i); //输出位置
break;
};
};
printf("RESULT: %d.\n", R); //输出结果
return;
};
2019-07-17 22:54:59