
C++面试参考文档(内容详尽)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
金山软件公司C++面试题:
一、请阐述您对C/C++或JAVA代码行数与注释行数统计工具的构思,并详细说明:1、在设计该工具时,需要考虑哪些方面的过滤条件?您将如何有效地处理这些条件? 答:过滤条件包括:(1)获取每行文本,并去除首尾的空格;(2)识别空行,即长度为零的行;(3)判断以“//”开头的行是否为注释行;(4)若“//”出现在行的中间,则需判断其是否位于双引号内(“”),若不在双引号内,则该行包含代码和注释的混合内容;若“//”在双引号内,则该行为代码行;(5)识别包含“/*”的行,并判断其是否位于双引号内(“”),若不在双引号内,则将其视为注释行;若“/*”在双引号内,则视为其结束;(6)处理多行注释“/* */”,判断该行是否包含代码,若无代码则为注释行,若有代码则为混合行;(7)处理多行注释“/* */”,如果“/*”出现在代码前或“*/”出现在代码后且无空行,则视为注释行;(8)如果一行中存在两个“/*”且只有一个“*/”,则该行为混合行,其后紧跟的是注释行。2、为了提升该工具的使用便捷性,您将如何改进其设计? 答:建议将该工具开发成图形用户界面 (GUI),用户只需输入文件名或者通过文件对话框选择文件即可启动程序并获得输出结果。本题仅需提供详细的设计思路文档,无需编写完整的程序代码。
二、给定一个自然数n,请完成以下程序,该程序能够输出所有不大于n的素数(质数)。1、请提供程序代码及相应的思路文档。 答:思路:首先计算出一个数j的平方根sqrt(j),然后遍历2到sqrt(j)之间的所有整数j。对于每个整数j进行除法运算:如果j能被2到sqrt(j)之间的任何一个整数整除,那么它不是素数。否则是素数。此外,可以优化除法过程,只对sqrt(j)以内的所有质数进行试除。
```c
#include
全部评论 (0)


