选择题 共15道
判断题 共5道
执行下列代码,输入"hello world"(不带引号),输出结果为?
string s; cin >> s; cout << s;
执行下列C++代码后,计算s[0].d+s[1].i,结果是多少?
struct S { double d; int i; }; S s[2]={{1.5,1}, {2.5,2}};
补全以下代码,将数组a按升序排列。下列选项中哪一项正确?
int a[7]= {7, 1, 4, 2, 2, 3, 6}; int N =7; for (int i=0; i<N-1; i++) { for (int j=0; j<_①_; j++) { if (a[j] > a[j+1]) swap(a[j], a[j+1]); } }
输入一个DNA序列:由字符A、C、G和T组成的字符串。补充下列代码找到最长的连续相同字符子串。下列选项中哪一项正确?
string s; cin>> s; int len=_①_, ans = l; for(int i=_②_; i<s.size(); i++) { if(s[i]=s[_③_]) len++; else len = 1; if(_④_) ans=len; } cout<< ans;
想要打印等腰三角形,输入n=4时,输出如下:
* ** * * * * * * ** *
代码空白处应该填入( )。
int n; cin >> n; for (int i= 1; i <= n; i++) { if(i == 1) cout << "*" << endl; else { cout << "*"; for (int j= 1; j<=i-2; j++) cout << " "; cout << "*" << endl; } } for (int i=_①_; i>= 1; i--) { if(i== _②_) cout << "*" <<endl; else { cout << "*"; for (int j=1; j<=i-2; j++) cout << " "; cout << "*" << endl; } }
从一个2x2网格的左上角出发,若只允许向右或向下移动,恰好有如下6条路径可以到达右下角:
补全以下代码,计算对于9x9的网格,有多少条路径可以到达右下角?
int g[10][10]= {}; _①_; for (int i=0; i<10; i++) { for (int j=0; j<10; j++) { if(i-1>=0) g[i][j] += g[i-1][j]); _②_ g[i][j] += g[i][j-1]; } } cout << g[9][9];
有n个人,第i个人的当前头发长度为Li(1≤i≤N)。
每个人的头发每天增长1。请计算并输出从第一天开始,第一次出现头发长度至少为t的人数>=p是第几天?
int n,t,p,L[100],cnt; cin >> n >> t>> p; for (int i=0; i<n; i++) cin>>L[i]; for (int i=1; i<t; i++) { cnt=0; for (int j=0; j<n; j++) { if(_①_)cnt++; } if(_ ②_ ) { cout << i<< endl; break; } }
执行下列程序,输出结果为?
#include <iostream> using namespace std; int main() { int i=1, j=1; int x=i++, y=++j; cout<<i<<" "<<j<<" "<<x<<" "<<y; return 0; }
补全下列代码,计算n(1≤n≤1x109)的阶乘中后缀0的个数。下列选项中哪一项正确?
例如5!=1*2*3*4*5=120,它有1个后缀0
20!=2432902008176640000,它有4个后缀0。
提示:
n!中每个后缀0都是由一个因子2和一个因子5相乘得到的,而在阶乘中因子2的个数远多于因子5的个数,因此只需统计因子5的个数。
一个5的倍数可以提供至少1个因子5;
一个 25 的倍数可以提供至少2个因子5;
一个125 的倍数可以提供至少3个因子5;
以此类推。
int n,i= _①_,ans =0; cin >> n; while (_②_ ) { i*=5; ans+= _③_; } cout << ans;