当前位置: 代码迷 >> C语言 >> 回复 “深圳一公司招聘题”
  详细解决方案

回复 “深圳一公司招聘题”

热度:448   发布时间:2006-05-06 19:52:00.0
回复 “深圳一公司招聘题”

#define N 10
main()
{int i,a[N];
int judge(int *p);
printf("Enter your data \n");
for(i=0;i<N;i++)
{ scanf("%d",&a[i]); }
judge(a) ? printf("YES") : printf("NO") ;

getch(); /* 请不要删除此行 */
}

int judge(int * p)
{ static i=1;
if(i<N)
{ if(p[i]<p[i+1])
{i++;judge(p);}
else return(0);
}
else return(1);
}

搜索更多相关的解决方案: 深圳  招聘  

----------------解决方案--------------------------------------------------------
以下是引用herotobe在2006-5-6 19:52:00的发言:

int judge(int * p)
{ static i=1;
if(i<N)
{ if(p[i]<p[i+1])
{i++;judge(p);}
***************************

如果main()里面还有第二个数组等你去判断呢?
所以要调用完毕,设法让 i 回到1。


----------------解决方案--------------------------------------------------------
if(i<N)


叔祖下表过了
----------------解决方案--------------------------------------------------------
static i=1;
----------------解决方案--------------------------------------------------------
以下是引用herotobe在2006-5-6 20:42:00的发言:
static i=1; <===正因为它是static,所以它变化后就回不到1上来啦。除非您对static属性还不够熟悉

----------------解决方案--------------------------------------------------------
  相关解决方案