1、请选择下列程序的执行结果( )
#include<iostream> using namespace std; class A{ public: void f(){ cout<<"A::f()"; } }; class B: public A{ public: void f(){ cout<<"B::f()"; }; }; void main(){ B b; b.f(); }
A、A::f();B::f() 都不可能
B、A::f();B::f() 都有可能
C、A::f()
D、B::f()
2、什么命令不可以查看mysql数据库中user表的表结构( )
A、show create table user
B、describe user
C、desc user
D、show columns for user
3、以下表达式错误的是( )
A、<div>bool flag ;<br>if(flag)</div>
B、<div>int flag;<br>if(flag != 0)</div>
C、<div>double flag;<br>if(flag == 0)</div>
D、<div>int *point;<br>if(point == null)</div>
4、以下函数调用错误的是( )
void func(int iArg = 0, char cArg = 'a', string sArg = "hello", int *ipArg = NULL);
A、func(1);
B、func(1,'h',"hehe",NULL);
C、func(1,'n',"hehe");
D、func(1,"nihao");
5、某文件系统采用链接存储方式,文件A在磁盘中存放的情况如图所示
若该文件所在的目录文件已经在内存中,要读取文件块2,需要访问磁盘的次数为( )
A、1次
B、2次
C、3次
D、4次
6、以下哪种排序算法在最坏情况下的时间复杂度最小( )
A、冒泡排序
B、选择排序
C、归并排序
D、插入排序
7、两台主机A和B已建立了TCP连接,A始终以MSS=1KB大小的段发送数据,并一直有数据发送;B每收到一个数据段都会发出一个接收窗口为9KB的确认段。
若A在T时刻发生超时时拥塞窗口为8KB,则从T时刻起,不再发生超时的情况下,经过10个RTT后,A的发送窗口是 ( )
A、8KB
B、9KB
C、10KB
D、11KB
8、设栈S初始状态为空。元素1,2,3,4,5,6依次通过栈S,若出栈的顺序为4,6,5,3,2,1,则栈S的容量至少应该为( )
A、3
B、4
C、5
D、6
9、在Linux系统中,因为某些原因造成了一些进程变成孤儿进程,那么这些孤儿进程会被以下哪一个系统进程接管( )
A、sshd
B、init
C、top
D、syslogd
10、在Linux系统下,下列哪个命令可以查看曾经登录到此系统的用户清单( )
A、ps
B、last
C、lastcomm
D、accton
1、牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方形出来,牛牛最少需要支付多少硬币才能让这四根木棍拼凑出正方形。
2、一个完整的括号字符串定义规则如下:
(1)、空字符串是完整的。
(2)、如果s是完整的字符串,那么(s)也是完整的。
(3)、如果s和t是完整的字符串,将它们连接起来形成的st也是完整的。
例如,"(()())", ""和"(())()"是完整的括号字符串,"())(", "()(" 和 ")"是不完整的括号字符串。
牛牛有一个括号字符串s,现在需要在其中任意位置尽量少地添加括号,将其转化为一个完整的括号字符串。请问牛牛至少需要添加多少个括号。
3、牛牛选择了一个正整数X,然后把它写在黑板上。然后每一天他会擦掉当前数字的最后一位,直到他擦掉所有数位。 在整个过程中,牛牛会把所有在黑板上出现过的数字记录下来,然后求出他们的总和sum.
例如X = 509, 在黑板上出现过的数字依次是509, 50, 5, 他们的和就是564.
牛牛现在给出一个sum,牛牛想让你求出一个正整数X经过上述过程的结果是sum.
一、
1~5:DDCDC
6~10:CBCBB
二、
1、
#include<iostream> #include<algorithm> using namespace std; int temp; int main() { int a, b, c, d; int mean,result; cin >> a >> b >> c >> d; if (b > a) { temp = a; a = b; b = temp; } if (d > c) { temp = c; c =d; d = temp; } if (c> a) { temp = a; a = c; c = temp; } if (d > b) { temp = b; b = d; d = temp; } if ((d<(a + b + c)) && (a >(b + c + d))) { mean = (b + c)*1.0 / 2 + 0.5; } else if (a > (b + c + d)){ mean = (b + c + d)*1.0 / 3 + 0.5; } else{ mean = (a + b + c + d)*1.0 / 4 + 0.5; } result = abs(a - mean) + abs(b - mean) + abs(c - mean) + abs(d - mean); cout << result; return 0; }
2、
#include <iostream> #include <stack> #include <string> using namespace std; int main(){ stack<char> s; string str; cin>>str; int n=str.size(); for(int i=0;i<n;++i){ if(s.empty()) s.push(str[i]); else if(s.top()=='('&&str[i]==')') s.pop(); else s.push(str[i]); } cout<<s.size()<<endl; return 0; }
3、
#include<iostream> using namespace std; void deal(uint64_t n) { bool is_break = false; uint64_t l = 0, r = n,mid,sum,tmp; while (l <= r) { mid = (l + r) / 2; sum = 0,tmp=mid; while (tmp) { sum += tmp; tmp /= 10; } if (sum == n) { is_break = true; break; } else if (sum > n) r = mid - 1; else l = mid + 1; } if (is_break) cout << mid << endl; else cout << "-1" << endl; } int main() { uint64_t n; while (cin >> n) deal(n); system("pause"); return 0; }