选择题 共15道
判断题 共10道
编程题 共2道
下列代码中,输出结果是( )
#include < iostream> using namespace std; int func(int x,int y){ int a=x,b=y; int t; t=a; a=b; b=t; cout<< a<< " "<< b<< " "; } int main(){ int c,d; c=12; d=24; func(12,24); cout<< c<<" "<< d<< endl; }
下面程序输出的是()
#include< iostream> using namespace std; int func(); int main(){ int i=2; cout<< i<< endl; for(int x=0;x<1;x++){ int i=10; cout<< i<< endl; } i=i+1; cout<< i<< endl; { i=i*i; cout << i << endl; } }
假设变量 a 的地址是0x6ffe14,下面程序的输出是( )。
#include< iostream> using namespace std; int main(){ int *p; int a=10; p=&a; p++; cout<< p<< endl; }
如果下列程序输出的地址是 0x6ffe00 ,则 cout<<a+1<<endl; 输出的是()
#include< iostream> using namespace std; int main(){ int a[2][3]={0}; cout<< a<< endl; }
下列程序横线处,应该输入的是 ( )。
#include< iostream> using namespace std; int n,a[10001]; void swap(int &a,int &b){ int t=a; a=b; b=t; } int main(){ cin>> n; for(int i=1;i<= n;i++) cin>> a[i]; for(int i=n;i>1;i--) for(int j=1;j< i;j++) if(a[j]>a[j+1]) ______________; for(int i=1;i<=n;i++) cout<< a[i]<<" "; cout<< endl; return 0; }
下面的排序算法程序中,横线处应该填入的是( )。
下面的程序中,如果输入 10 0 ,会输出( )。
#include< iostream> using namespace std; double Division(int a,int b){ if(b==0) throw "Division by zero condition!"; else return ((double)a/(double)b); void func(){ int len,time; cin>> len >> time; cout<< Division(len,time)<< endl; } int main(){ try{ func(); }catch(const char* errmsg){ cout<< errmsg<< endl; }catch(const int errmsg){ cout<< errmsg<< endl; } return 0; }
下面程序中,如果语句 cout<<p<<endl; 输出的是 0x6ffe00 ,则 cout<<++p<<endl; 输出的是()
int x[10][10][10]={{0}}; int *p; p=&x[0][0][0]; cout << p << endl; cout << ++p << endl;
以下代码不能够正确执行。
#include< iostream> using namespace std; int main(){ int a=20; int &ra; ra=&a; cout<< ra<< endl; }
下面程序两个输出结果是一样的。
#include< iostream> using namespace std; int main(){ int a[2][3]={0}; cout<< a<< endl; cout<< &a[0][0]<< endl; }
下面代码输出的值等于0
#include< iostream> using namespace std; int main(){ int *p=NULL; cout << p << endl; }
在下面这个程序里, a[i][j] 和一个普通的整型变量一样使用。
#include< iostream> using namespace std; int main(){ int a[10][10]={0}; for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ if(i==j){ a[i][j]=1; } } } }
题面描述
小杨有一个 n行 m列的网格图,其中每个格子要么是白色,要么是黑色。
对于网格图中的一个子矩形,小杨认为它是平衡的当且仅当其中黑色格子与白色格子数量相同。
小杨想知道最大的平衡子矩形包含了多少个格子。
输入格式
第一行包含两个正整数n,m ,含义如题面所示。
之后 n行,每行一个长度为 m的 01串,代表网格图第 i行格子的颜色,如果为0 ,则对应格子为白色,否则为黑色。
输出格式
输出一个整数,代表最大的平衡子矩形包含格子的数量,如果不存在则输出 0。
输入样例1
4 5 00000 01111 00011 00011
输出样例1
16
样例解释
对于样例1,假设 ( i,j) 代表第 i行第 j列,最大的平衡子矩形的四个顶点分别为 ( 1,2),(1,5 ),( 4,2),(4,5 )。
数据范围对于全部数据,保证有1≤n,m≤10。
小杨发现了n个宝箱,其中第i个宝箱的价值是ai。
小杨可以选择一些宝箱放入背包并带走,但是小样的背包比较特殊,假设小杨选择的宝箱中最大价值为x,最小价值为y,小杨需要保证x-y≤k,否则小杨的背包会损坏。
小杨想知道背包不损坏的情况下,自己能够带走宝箱的总价值最大是多少。
第一行包含两个正整数n,k,含义如题面所示。
第二行包含n个正整数a1,a2,....,an,代表宝箱的价值。
输出一个整数,代表带走宝箱的最大总价值。
5 1 1 2 3 1 2
7
在背包不损坏的情况下,小杨可以拿走两个价值为2的宝箱和一个价值为3的宝箱。
数据范围
对于全部数据,保证有1≤n≤1000,0≤k≤1000,1≤ai≤1000。