来这里回答c语言问题的,进来看一下
发布网友
发布时间:2024-10-16 04:41
我来回答
共5个回答
热心网友
时间:2024-10-16 16:29
我也有这个毛病,呵呵
别人说我基础不扎实,概念不清楚,如果不存在这些问题了,那么不会被题弄得
头晕了
想一下也有道理。
热心网友
时间:2024-10-16 16:27
void invert(int a[],int k)
{
int t;
if(k > 0) //k<=0时返回
{
invert(a, k-1); //k>0时继续递归
t=a[0];a[0]=a[k-1];a[k-1]=t;
}
}
看题目就可以判断其为递归函数,递归函数必须要有个结束条件!
热心网友
时间:2024-10-16 16:27
绝对正确答案:
第一个空是:k-->0;
第二个空是:(a+1,k-1);
热心网友
时间:2024-10-16 16:29
void invert(int a[],int k)
{
int t;
if(k>0) //这里k>=1和k>=2似乎都可以
{
invert(a+1,k-2 );
t=a[0];a[0]=a[k-1];a[k-1]=t;
}
}
我自己测试过了 可以的
===================================================
关于你说的初级程序员考试:
我原先也参加过一些这样子类型的考试 还有竞赛什么的
其实并不是很难 因为初级的c本身就没有太多的东西
它出题的话都是一些你可能容易迷糊的地方
像什么宏的错误 输入输出的格式 指针 链表 ++ -- 什么的
如果你觉得你的c真的学得不错那你应该自信一些
不要觉得每道题都处处是陷阱这样子 这样会影响你做题 让你患得患失
其实只要细心些 这些初级考题没什么大不了的 要相信自己~~~
热心网友
时间:2024-10-16 16:28
看这种题目采用的算法和思路,问题求解的方法很多,不要拘泥与自己的算法,而且自己的不一定是最好的,要学会领会别人的算法。思路开阔点就ok了。这个看看就应该明白是用递归,知道递归了就很简单了。
(1)k>=2
(2)&a[1],k-2