c学习

**

初学C+交流

**
某次培新题(仅供参考)
1.一般交换机会处于哪一层?( B )
A.物理层 B.数据链路层 C.网络层 D.传输层

2.表示关系上的a>=b>=c的C语言表达式的是?( A )
A.(a>=b)&&(b>=c) B .(a>=b)ll(b>=c) C.(a>=b>=c) D.a>=b=!(b>=c)

3.以下程序执行后的输出结果为( A )

A.1 B.2 C.编译错误 D.无法确定结果

4.执行f(10)代码执行了多少次?( C )

A. 10 B. 14 C. 15 D.16

5.下面程序的时间复杂度为( D )

A. O(n) B. O(n^2) C. O(n^3) D. O(n!)

6.下面代码输出的结果为( A )

A. 88 B. 3 C. 2 D.174

7.intp=&n;,那么p的值是:( C )
A.p的值 B. p的地址 C.n的值 D.n的地址

8.下面代码执行的结果是:( C )

A. my name B. n m C.name my D.m n

9.执行fib(5),则fib被调用的次数为( D )

A. 2 B. 3 C. 4 D.5 E.6

10.有一个随机给出数组中的元素,数组的数据类型为int,长度为8,在该数组中找出最大和第二大元素一定需要进行( A )次比较。9次?QWERTYUI两两比较
A. 8 B. 9 C. 10 D. 11

11.运行fib(1000)下面代码返回的结果为:( C )

A. 1000 B. 500500 C. 6 D.999

12.运行fib(5)下面代码段输出的结果为:( C )

A. 2 B. 3 C. 8 D.13

13.小牛和小客玩游戏,2人都足够聪明,都想赢,现在桌上有17枚硬币,每次只能拿1,3,5,7枚,最后拿完的取胜问,怎么分配策略才能让小牛必胜?( A )
A.让小牛先拿 B.让小客先拿
C.无论怎样分配,都不能使一个人必胜 D.无论怎样分配,小牛都是必胜的

14.下面说法正确的是:( C )
A. 线性表就是顺序存储的表 B. 堆肯定是一颗平衡二叉树
C. 循环队列中元素的个数是有队头指针和队尾指针共同决定
D. 栈与队列是非线性结构

15.下面查找效率最高的是哪个?( D )
A. 栈 B.队列 C.二叉树 D.hash

16.理论上来说,一台普通的电脑最多可以保持多少个到服务器端的链接?( C )2的32/16次方??
A. 1 B. 少于1024 C. 65535 D.无限个

17.如有4个元素进栈序列是1,2,3,4,其出栈序列是a,b,c,d,若b=1,那么a的值是(A)
A.2 B. 3 C. 4 D.不一定

18.现在一个箱子里有很多球,球上标着1,2,3,4,5,而且每种球的个数都相等,第一次抽到然后放回,然后再抽一次,如果两次抽到的小球都是1球的概率是?( D )
A.1/4 B. 1/5 C. 1/16 D.1/25

19.在多道程序系统中,系统的现有空闲可用资源能否满足后备作业J的资源要求,是选择作业J进入内存的必要条件。( B )
A. true B. false

20.下面for循环执行的次数为:(B)
for(int n=-1;n!=0;n++)
A. 0 B. 1 C. 2 D.无限循环

二、编程题(每题20分,共60分)
21.给定一个rSquare,表示一个圆的半径的平方,某圆的圆心在坐标系原点,需要计算返回处在该园园周上的格点(横纵坐标均为整数的点)数量。
输入:
—输入一个整数rSquare。rSquare的取值范围在1到2,000,000,000之间(其中包括1和2,000,000,000)
输出:
—返回圆上的格点数量
举例:—rSquare=1,返回4.圆心在原点、半径为1的圆通过4个格点:(1,0)、(0,1)、(-1,0)和(0,-1)
/*************************
*在这里填写代码
*你不需要写main函数
/
int countPoints(int rSquare)
{
int counter=0;
for(int i = 1 ; i < 44722 ; i++)
{
for(int j = i ; j < 44722 ; j++)
{
int i2 = i * i ;
int j2 = j * j ;
int temp=i2+j2;
if(temp==rSquare)counter++;
}
}
return counter;
}
22.
输入:
—输入一个整形数组seq。seq含有1到50个元素(其中包括1和50),seq中的每个元素的取值范围都在1和100之间(其中包括1和100)
输出:
—返回严格单调的最长连续子序列长度
举例:
—seq:{1,7,7,8,3,6,7,2},返回3,最长的严格单调数列是3,6,7,而子数列1,3,6,7是不符合要求的,因为1和3并不相连,此外1,7,7,8也不是满足条件的,因为它不是严格递增的。
/

*在这里填写代码
*你不需要写main函数
/
int longestMonotoneSequence(int seq[], int n)
{
int res=1;
int current=1;
for(int i=1;i<seq.length;i++)
{
if(seq[i]>seq[i-1])
{
current++;
}
Else
{
if(current>res)
{
//index=i-current;
res=current;
}
current=1;
}
}
return res;
}
23.给定你五个正整数,它们最小众倍数是指能够被其中至少三个数整除的最小正整数。给定你各不相同的整型a,b,c,d以及e。请返回它们的最小众倍数。
输入:
—输入五个正整a,b,c,d,e。a,b,c,d以及e中每个的取值范围都在1和100之间(其中包括1和100)。a,b,c,d以及e各不相同
输出:
—返回它们的最小众倍数
举例:
—a=1b=2c=3d=4e=5,返回4.4能够被1,2以及4整除,满足5个数中至少能被其中三个整除的定义,
/

*在这里填写代码
*你不需要写main函数
*************************/
int leastMajorityMultiple(int a, int b, int c, int d, int e)
{
int i=1;
int count =0;
while (i>0)
{
if(i%a == 0) count++;
if(i%b == 0) count++;
if(i%c == 0) count++;
if(i%d == 0) count++;
if(i%e == 0) count++;
if (count >= 3)
{
System.out.println(“find”);
break;
}
count = 0;
i++;
}
return i;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值