一、选择题
1、字符串常量“I love C++”占用的字节数是 ()
A、8 B、9 C、10 D、11
2、下列运算符中,优先级最高的是 ()。
A、 = B、&& C、! D、%
3、已定义数组int a[100],以下赋值语句中引用数组元素正确的是 ()。
A、a[100]=100
B、a['A']='A'
C、a[A]=A
D、a[-1] = -1
4、二进制数1001001001转换成十进制是()。
A、593
B、585
C、329
D、330
5、执行以下代码,输出的结果是( )。
第一题
编程实现:考拉兹猜桐
提示信息:
考拉兹猜想,也称为3n+1猜想或冰雹猜想。是指对于任意正整数N,若N为偶数,则将N除以2;若N为奇数则将N乘以3再加1。如此循环,最终都能够得到1。
题目描述:
现给定一个正整数N,按照上述步骤,请计算出N要经过多少步才能变成1.变成1的步骤如下:例如:N=5,
1.5X3+1=16
2.16/2=8
3.8/2=4
4.4/2=2
5.2/2=1
共经过5步就得到1,故输出5。
输入描述:输入一个正整数N (O<N<1000000)。
输出描述:输出一个整数,表示N要经过多少步才能变成1。
样例输入:5
样例输出:5
第二题
编程实现:密码强度
题目描述:
网站提示,密码必须由8~16个字符组成,可以包含数字、大写字母、小写字母、特殊符号这4种字符类型。
注:特殊符号只包含:!、@、#、$、%、^、&、*、(、)、_ 、+、-、
以下是三种强度密码的设计规则:
1) 包含4种不同类型字符的密码是强密码;
2)包含2种或3种不同类型字符的密码是中等密码;
3)只包含1种类型字符的密码是弱密码
小威利用浏览器自动创建了N个密码,请你编写程序判断这些密码的强度。
输入描述
第一行输入一个正整数N(4<=N<=10),表示密码的个数。接下来的N行,每行输入一个字符串Si(8≤si的长度≤16),表示一个密码,密码中可能包含数字、大写字母、小写字母、特殊符号这4种字符类型,且不含空格字符
输出描述:
共N行,每行输出一个整数Ri(Ri只能是0、1、2),依次表示对应密码Si的强度
如果Si是强密码,则输出2:
如果Si是中等密码,则输出1;
如果Si是弱密码,则输出0。
样例输入:
4
12345678
ASDF1234
ABcde67890
A1b2c3dse%
样例输出:
0
1
1
2
第三题
编程实现:金币数量
题目描述:
聪聪设计了一款闯关小游戏。玩家每通过一关,可以获得若干金币通过第一关可获得1枚金币,通过第二关可获得3枚金币,通过第三关可获得6枚金币,通过第四关可获得10枚金币,通过第五关可获得15枚金币......
假定玩家总共通过了N关
请总结玩家每一关获得金币的规律,并根据规律计算出他一共可获得多少枚金币。
输入描述:输入一个正整数N(1<=N<=5x10^6),表示通过的关数
输出描述:输出一个整数,表示通过N关之后总共可获得的金币数量
样例输入: 5
样例输出: 35
第四题
编程实现:太阳黑子最大数量一直增加的最长连续年数
题目描述:
太阳黑子是太阳表面因温度相对较低而显得“黑”的局部区域,一般成群出现在太阳表面,并且对地球造成很明显的影响。为此,人类根据多项科学研究追湖到几十万年前的黑子活动,并重建了数据记录小蓝拿到了一组数据,有N个整数,表示连续N年里每一年的太阳黑子最大数量,他希望找出所有数量连续增加的记录,并计算出连续增加记录中的最长连续年数。
例如:N = 8,连续8年里太阳黑子最大数量依次是2、3、1、2、4、8、4、9,数量连续增加的记录有(2、3)、(1、2)、(1、2、4)、(1、2、4、8)、(2、4)、(2、4、8)、(4、8)和(4、9),连续3)增加的年数分别是2、2、3、4、2、3、2、2,其中最长连续年数为4,故最后输出4。
输入述:
第一行输入一个正整数N(O<N<=1000000),表示数据记录的年数
第二行输入N个用空格隔开的正整数(0<正整数<=1e9),表示连续年的太阳黑子最大数量
输出描述
输出一个非负整数,表示太阳黑子最大数量连续增加记录中的最长连续年数
样例输入:
8
2 3 1 2 4 8 4 9
样例输出:
4
第五题
编程实现:面积的最大差值
题目描述:
用一个M行N列的矩形网格表示某群岛疆域的地形图,每个小格子里都有一个数字1或者0,其中,0表示海水(蓝色),1表示陆地(绿色),并且矩形网格之外的部分都为海水。每个小格子面积为1,已知每个岛屿都是由1个或多个坚直或水平相邻的陆地小格子组成(斜向不算相邻),且周围都是海水。那么请你计算图中面积最大的岛屿与面积最小的岛屿之间的面积差值。
例如:M=6,N=8时,群岛疆域示意图如下:
其中,有5个岛屿,面积分别是1,3,4,7,4,最大的岛屿面积是7,最小的岛屿面积是1,面积差是7-1=6。
输入描述:
第一行输入两个正整数M和N(3<=M<=1000,3<=N<=1000),表示网格行数与列数,两数之间用一个空格隔开。
接下来输入M行,每行N个整数,表示地形图(1表示陆地,0表示海水),两个整数之间用一个空格隔开
输出描述:
输出一个整数,表示面积最大的岛屿与面积最小的岛屿之间的面积差
样例输入:
6 8
0 0 0 0 1 0 1 1
1 1 1 0 0 0 0 1
0 1 0 0 1 0 0 0
0 0 1 1 1 0 1 1
0 0 0 1 1 0 1 0
0 0 0 1 0 0 1 0
样例输出:
6
第六题
编程实现:斗鱼养殖场
题目描述:
聪聪用钢丝网建造了一批同样大小的正方体网箱,将它们拼成了MXN的矩形网格(每个格子都是一个网箱),放在池塘里,专门用来养殖一种凶猛的斗鱼。斗鱼天生好斗,只要旁边有其它斗鱼靠近,哪怕隔着钢丝网,它们都能斗个你死我活,所以每个网箱里最多只能饲养一条斗鱼,而且,两条斗鱼必须在不相邻的网箱(坚直或水平方向)。
另外,聪聪在某些网箱里还安装了养殖设备,这些网箱里也不能养斗鱼。
聪聪想知道,这组网箱一共有多少种可行的饲养方案(至少养一条斗鱼)。
由于方案数量比较大,所以只需要求出方案数量对100000007的取模结果
例如:
M = 2,N = 2,矩形网格的格局如图所示(蓝色为水,灰色为设备):
饲养1条鱼的方案有3种(3个蓝色网箱都可以养鱼)
饲养2条鱼的方案有1种(用左上角和右下角的蓝色网箱养鱼):
这个2X2的矩形网格有4种饲养方案,4对100000007取模的结果是4,故输出4。
输入描述:
第一行输入两个正整数M和N(2<=M<=100,2<=N<=10),分别表示矩形网格的行数和列数,两个正整数之间以一个空格隔开。
第二行开始输入M行,每行N个整数(只能是1或0),表示水,0表示设备,整数之间以一个空格隔开输出描述
输出一个整数,表示至少养1条斗鱼的饲养方案数量对100000007取模的结果
样例输入:
2 2
1 1
0 1
样例输出:
4