软件工程公司面试试题.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件工程公司面试试题.doc》由会员分享,可在线阅读,更多相关《软件工程公司面试试题.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除姓名: 日期: 年 月 日 答题时间: 一、请你就C/C+或者JAVA代码行数、注释行数统计工具的实现,描述一下:1、 需要考虑哪些过滤条件?你如何处理?答:过滤条件:(取得每行并去掉两头的空格后)空行,行的长度为0;如果是以/开头,为注释行;/在行中,并判断不是在字符串中,即“”中,为代码+注释混合行,/在“”中时为代码行;如果/*在行中,判断是否是在“”内,否则为注释行,*/不在“”中时是结束 ;/* */只在一行,判断行中是否有代码,无代码为注释行,有代码是混合行;/* */多行,并且/*前无代码,/*后无代码,去掉其中空行都是注释行;/*
2、 */多行,/*在代码后,或*/后有代码,有混合行;一行中有2个/*并且就1个*/,此行为混合行,其后是注释行。 2、 怎样提升这个工具的易用性?答:把这个工具设置成图形界面,用户只需输入文件名或者在文件对话框中选择文件即可点击运行输出结果。本题只需要提供思路文档,不需要程序代码。二、给定一个自然数n,试完成如下程序,它输出不大于n的所有素数(质数)。1、 请提供程序代码,以及思路文档。答:思路:求出一个数j的平方根sqrt(j),将j除以2sqrt(j)之间的数,只要除尽一次,就不是素数,之后数j加2。#include#includevoid main() int N=1000;int i,
3、j,k,m=0;for(j=1;jN;j=j+2) /*1-N间的素数*/ k=(int)sqrt(j); /*求平方根*/ for(i=2;ik) /*/除到k一直没除尽,是素数*/ printf(%d ,j);3、 请分析一下可以从哪些角度可优化该程序的时间性能?答:偶数(除了2)不能为素数;判断一个数j是否为素数,只要将其除以2 sqrt(j)之间的素数,更进一步,没有必要对所有奇数进行试除,只需对所有sqrt(j)以内的所有质数试除就可以了。三、高精度乘法用户输入两个不大于 256 位的正整数,由程序进行乘法运算,并显示运算过程与结果。例:输入:12, 32输出: #include #
4、include #include #define max 256int Amax,Bmax;int Alen,Blen;int Smax *2;void InputAB() /输入A Bint c; while (!isdigit(c = getchar() ; Alen=1;A0= c - 0; while (isdigit(c = getchar() AAlen+ = c - 0; while (!isdigit(c = getchar() ; Blen = 1;B0 = c - 0; while (isdigit(c = getchar() BBlen+ = c - 0;void Pri
5、nt(int Array, int len) /输出数组int i=0; while (ilen) & (Arrayi = 0) ) i+; if (i = len) printf(“0 n”); return; for ( ;i = 0; i-) Resulti+1 = Arrayi*n; Result0 = 0; for (i = len; i 0; i-)if (Resulti = 10) /大于10的进位 Resulti-1 +=Resulti / 10; Resulti %= 10; for (i = 1; i 0) & (alen 0) /相加 tlen-; alen-; tota
6、ltlen += addalen; for (i = k - 1; i=0; i-) if (totali = 10) /大于10的进位 totali - 1 += totali / 10; totali %= 10;void main()int i,j; int tempmax*2; InputAB(); Print(A,Alen); printf(“*”); Print(B,Blen); printf(-n); for(i = Blen-1; i = 0; i-)for(j=Blen-i,j=0;j-) /输出空格printf(“ ”); Mul(A, Alen, Bi, temp, Bl
7、en - 1 -i);/B中的一个数与A的所有数相乘 Print(temp, Alen + 1); /输出相乘过程中的每行 Add(S, max*2, temp, Alen + Blen - i);/每行相加 printf(-n); Print(S, max*2);四、输入一个N进制数,将其转换成 M 进制数(1N=16,1M=16)#include #include #include #include #include using namespace std;int main()char digit16 = 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;cout 输入待转换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 公司 面试 试题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内