努比亚2017校招开发工程师试题解析

需积分: 9 0 下载量 47 浏览量 更新于2024-09-09 收藏 3KB TXT 举报
"努比亚2017年校园招聘开发工程师考试试题" 1. 题目:检查字符串是否为回文串 该题目考察的是字符串处理能力,具体是判断输入的字符指针`char *p`指向的字符串是否为回文串。回文串是指正读反读都一样的字符串。代码中的`inffun`函数通过两个指针`i`和`j`分别从字符串的开头和结尾向中间遍历,如果在遍历过程中发现有不相等的字符,就返回0表示不是回文串;如果遍历完成都没有发现不相等的字符,则返回1,表明字符串是回文的。 2. 填空题:定义一个宏常量表示浮点数的微小值 题目要求定义一个宏常量`EPS`来表示浮点数的微小值。通常情况下,我们可以定义`EPS`为一个足够小的浮点数,如1e-6或1e-9,用于比较浮点数时判断是否可以视为相等。这里给出的`#define EPS 1e-1`表示10的负1次方,可能不够精确,但能满足一些基本的浮点数近似相等的判断。 3. 判断三角形的类型 这段代码是一个C程序,用于判断输入的三个浮点数`a`, `b`, `c`能否构成一个三角形以及它的类型(直角三角形、等腰三角形或普通三角形)。首先检查输入的三边是否满足三角形的条件(任意两边之和大于第三边),然后利用浮点数的微小值`EPS`来判断是否为等腰或直角三角形。程序最后会输出相应的提示信息。 4. 数据库查询语句 这部分涉及数据库操作,主要是SQL查询。题目给出了三个关于学生和课程表的查询需求: (1) 查询所有属于s学院的学生和课程信息,其中s学院的课程信息存储在sc表中,而学生信息存储在s表中。 (2) 查询所有没有选课的学生信息。 (3) 查询所有选择了c2课程的学生信息。 对应的SQL语句分别为: 1. 选择s学院的所有学生和课程信息: ```sql SELECT s.*, sc.* FROM s, sc WHERE sc.college = 's'; ``` 2. 选择没有选课的学生信息: ```sql SELECT s.* FROM s WHERE s.id NOT IN (SELECT DISTINCT student_id FROM sc); ``` 3. 选择选择了c2课程的学生信息: ```sql SELECT s.* FROM s JOIN sc ON s.id = sc.student_id WHERE sc.course = 'c2'; ``` 这些题目涵盖了字符串处理、浮点数比较、三角形分类和SQL查询等多个IT领域的基础知识,对于开发工程师的应聘者来说,这些都是必要的技能。