2017年北理复试上机题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014552756/article/details/79555984

历年北京理工大学复试上机题题目汇总:

http://blog.csdn.net/u014552756/article/details/78505845



1、输入身份证号,通过计算比较校验位来判断身份证号是否正确。

如,aaaaaayyyymmddxxsp共18位,其中:

年份代码yyyy共4位。最后一位p为校验位。

校验规则是:

(1)对前17位数字的权求和 S=Sum(Ai*Wi),i=0,...,16

Ai:表示第i位置上的身份证号码数字值

Wi:表示第i位置上的加权因子

Wi:7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2

(2)计算模 Y=mod(S,11)

(3)通过模得到对应的校验码

        Y:0 1 2 3 4 5 6 7 8 9 10

校验码:1 0 X 9 8 7 6 5 4 3 2

例如,如果得到Y为9则最后的校验位p应该为3

如果校验位不是3,则该身份证号码不正确。

输入示例:

110130197606175317

输出示例:

110130197606175317 正确.

输入示例:

110200197501175220

输出示例:

应为:11020019750117522X


2、显示出如下数组中的所有元素,并使用二分查找法在数组中查找元素。

int a[]={-90,-32,12,16,24,36,45,59,98,120};

输入输出示例

-90   -32   12   16   24   36   45   59   98   120

请输入所要查找的元素:24

输出:第5个元素为24,比较次数为1

请输入所要查找的元素:120

输出:第10个元素,比较次数为4

请输入所要查找的元素:6

输出:查找失败 比较次数为3


3、输入学生个数以及每个学生的姓名和3门课程成绩:输出不及格学生的信息;按平均成绩排序,从高到低输出学生信息。

输入示例:

5

zhaoyi     70 80 91

zhanger   68 40 90

zhangsan 60 70 80

lisi            70 80 90

wangwu   52 70 100

输出示例:

*name: zhanger   score:68 40 99

*name: wangwu   score:52 70 100

[1]  name:zhaoyi     70 80 91

[2]  name:lisi           70 80 90

[3]  name:wangwu  52 70 100

[4]  name:zhangsan 60 70 80

[5]  name:zhanger   68 40 99


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页