《一些著名公司的笔试题》的答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《一些著名公司的笔试题》的答案 《一些著名公司的笔试题》的答案 1 ------ 题目见博文《一些著名公司的笔试题》 、sony 笔试题: 、该题用语言描述是指: 第 i 行第一个输出 * ,然后输出 i-1 个. ,重复上 i 次。 #include #define N 8 int main() { int i; int j; int k; for(i=0;i=N;i++) { for(j=1;j=i;j++) { printf(\*\); for(k=1;k return 0; 、降序排列数组,很常见的,这里我采用冒泡排序法还有选择排序法: 冒泡排序: #include void sort(int *array,int num ); int main() { int num=9,i; int array[]={45,56,76,234,1,34,23,2,3}; sort(array,num); for(i=0;i array[j+1]=temp; } } } } 选择排序: #include void sort(int *array,int num ); int main() { int num=9,i; int array[]={45,56,76,234,1,34,23,2,3}; sort(array,num); for(i=0;i for(j=i+1;j } if(k!=i)// 如果 k 不等于 i 就说明有更大的值,交换二值 { temp=array[i]; array[i]=array[k]; array[k]=temp; } } } C 、该题考查同学们对递归算法的认识程度, 在这里我们采用迭代 算法,优点是程序运行效率高,而且不用担心堆栈溢出,在运算值大 的情况下比递归算法可以提高上万倍的速度,比如同样计算 30,递归算法用时 0.019s ,而迭代算法则只用了 0.003s ,可见是递归算法的八分之一,值更大时这种越明显。缺点是程序比较不容易懂。有兴趣的可以参见《 C和指针》 127 页,具体程序如下: 递归法: #include int pheponatch(int); int main() { printf(\The 10th is%d\,pheponatch(30)); return 0; } int pheponatch(int { if(N=2) return 1; return pheponatch(N-1)+pheponatch(N-2);  N) } 迭代法: #include int pheponatch(int); int main() { printf(\The 10th is%d\,pheponatch(30)); return 0; } int pheponatch(int n) { long result; long previous_result; long next_older_result; result=previous_result=1; while(n2) { n-=1; next_older_result=previous_result+result; previous_result=result; result=next_older_result; } returnresult; } D 、源程序如下,红笔写出的是修改的地方:(其 实这个程序有好多漏洞,不知为什么会那这个程序来考) #include #include typedefstruct{ TNode*left; TNode*right; intvalue; } TNode; TNode* root=NULL; void append(int N); int main() { append(63); append(45); append(32); append(77); append(96); append(21); append(17);// Again, 数字任意给出 } void append(int N) { TNode*NewNode=(TNode *)malloc(sizeof(TNode)); NewNode-value=N; NewNode-right=NULL; NewNode-left=NULL; if(root==NULL) { root=NewNode; return; } else { TNode* temp; temp=root; while((N=temp.value temp.left!=NULL)|| (N right !=NULL )) { while(N=temp.value temp.left!=NULL) temp=temp.left; while(Ntem

文档评论(0)

156****9082 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档