递归算法,C语言

lw2530 2017-11-13 09:09:37
输入i值,用递归算法求数组中下标从零到i的最小值,输出结果。

#include<stdio.h>
#define N 10
int Min(int A[],int i)
{
int min=0;
if(i==0)
return A[0];
else
{
min=Min(A,i-1);
if(A[i]<min)
return A[i];
else
return min;
}
}
int main()
{
int A[N];
int i=0,j=0;
printf("请输入数组元素:\n");
for(j=0;j<N;j++)
{
scanf("%d",&A);
}
printf("请输入i的值:\n");
scanf("%d",&i);
Min(A,i);
printf("最小值为:%d\n",Min(A,i));
return 0;
}
该算法不能得到正确结果,希望帮我改正下!
...全文
249 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
for(j=0;j<N;j++) { scanf("%d",&A); } 我眼都看花了,才发现是这里的问题,应该是 for(j=0;j<N;j++) { scanf("%d",&A[j]); } 你的数组都没正确赋值,怎么可能找到最小值哪
paschen 2017-11-14
  • 打赏
  • 举报
回复
单步跟踪程序运行,看是哪一步与你期望的值不一致,分析原因
赵4老师 2017-11-14
  • 打赏
  • 举报
回复
“给定一个小点的输入,完整单步跟踪(同时按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史)一遍。”是理解递归函数工作原理的不二法门! 递归函数关注以下几个因素 ·退出条件 ·参数有哪些 ·返回值是什么 ·局部变量有哪些 ·全局变量有哪些 ·何时输出 ·会不会导致堆栈溢出
das白 2017-11-13
  • 打赏
  • 举报
回复
希望你可以自己设置断点调试一下
machao018111 2017-11-13
  • 打赏
  • 举报
回复
没啥毛病啊,你再看看

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧