2016年java C组真题及答案
来源:互联网 发布:淘宝导航条怎么装修 编辑:程序博客网 时间:2024/06/16 15:58
一、题目
隔行变色 Excel表的格子很多,为了避免把某行的数据和相邻行混淆,可以采用隔行变色的样式。
小明设计的样式为:第1行蓝色,第2行白色,第3行蓝色,第4行白色,….
现在小明想知道,从第21行到第50行一共包含了多少个蓝色的行。请你直接提交这个整数,千万不要填写任何多余的内容。
参考答案:
publicclass Question1{ publicstaticvoidmain(String[]args) { intcount=0; for(inti=21;i<=50;i++){ if(i%2!=0)count++; } System.out.println(count); }}
二、题目
立方尾不变
有些数字的立方的末尾正好是该数字本身。比如:1,4,5,6,9,24,25,….
请你计算一下,在10000以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。
请提交该整数,不要填写任何多余的内容。
参考答案:
publicclass Question2 { publicstaticvoidmain(String[] args) { intcount=0; for(inti=1;i<</span>10;i++){ if(i==Math.pow(i,3)%10) count++; } for(inti=10;i<</span>100;i++){ if(i==Math.pow(i,3)%100) count++; } for(inti=100;i<</span>1000;i++){ if(i==Math.pow(i,3)%1000) count++; } for(inti=1000;i<</span>10000;i++){ if(i==Math.pow(i,3)%10000) count++; } System.out.println(count); }}
三、题目
无穷分数 无穷的分数,有时会趋向于固定的数字。
请计算【图1.jpg】所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0。
请填写该浮点数,不能填写任何多余的内容。
参考答案:
publicclass Question3{ publicstaticvoidmain(String[]args) { doublea=f(0); System.out.println(a); } publicstaticdoublef(doublex){ while(x<</span>10){ x=x+1.0/(f(x+1)+x+1); } return1.0/x; }}
四、题目
循环节长度
两个整数做除法,有时会产生循环小数,其循环部分称为:循环节。比如,11/13=6=>0.846153846153…..其循环节为[846153]共有6位。下面的方法,可以求出循环节的长度。
请仔细阅读代码,并填写划线部分缺少的代码。
publicclass Question4{ publicstaticvoidmain(String[]args) { intn=f(11,13); System.out.println(n); } publicstaticintf(intn,intm) { n = n % m; Vector v =new Vector(); for(;;) { v.add(n); n *=10; n = n % m; if(n==0)return0; if(v.indexOf(n)>=0)returnv.size();//填空 } }}
五、题目
格子中输出 stringInGrid方法会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。
如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。
参考答案:
publicclass Question5{ publicstaticvoidmain(String[]args) { stringInGrid(20,4,"abcd1234"); } publicstaticvoidstringInGrid(intwidth,intheight,String s) { if(s.length()>width-2)s = s.substring(0,width-2); System.out.print("+"); for(inti=0;i2;i++)System.out.print("-"); System.out.println("+"); for(intk=1;k<(height-1)/2;k++){ System.out.print("|"); for(inti=0;i2;i++)System.out.print(""); System.out.println("|"); } System.out.print("|"); String ff =" "+s+" "; //填空 System.out.print(String.format(ff,"",s,"")); System.out.println("|"); for(intk=(height-1)/2+1;k1;k++){ System.out.print("|"); for(inti=0;i2;i++)System.out.print(""); System.out.println("|"); } System.out.print("+"); for(inti=0;i2;i++)System.out.print("-"); System.out.println("+"); }}
六、题目
奇妙的数字
小明发现了一个奇妙的数字。它的平方和立方正好把0~9的10个数字每个用且只用了一次。你能猜出这个数字是多少吗?
请填写该数字,不要填写任何多余的内容。分析:该数的平方数位数和加上立方和位数和正好是10位,我们可以人为的排除一部分不满足条件的
参考答案:
publicclass Question6 { publicstaticvoidmain(String[]args){ f1(); } //暴力破解 publicstaticvoidf1(){ ints=0; intv=0; for(inti=40;i<</span>100;i++){ s=(int)Math.pow(i,2);//四位数 inta=s; intb=s/10; intc=s/100; intd=s/1000; v=(int)Math.pow(i,3);//六位数 inte=v; intf=v/10; intg=v/100; inth=v/1000; intk=v/10000; intm=v/100000; if(a!=c&&a!=d&&a!=e&&a!=f&&a!=g&&a!=h&&a!=k&&a!=b&&b!=c&&b!=e&&b!=f&&b!=g&&b!=h&&b!=k&&b!=m &&c!=d&&c!=e&&c!=f&&c!=g&&c!=h&&c!=k&&c!=m&&d!=e&&e!=f&&e!=g&&e!=h&&e!=k&&e!=m&&f!=h&&f!=k&&f!=m &&f!=g&&g!=h&&h!=k&&k!=m&&m!=a&&(a+b+c+d+e+f+g+h+k+m==45)) { System.out.println(i); } } }}
七、题目
加法变乘法
我们都知道:1+2+3+ … + 49 = 1225现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:1+2+3+…+10*11+12+…+27*28+29+…+49= 2015就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
publicclass Question7{ publicstaticvoidmain(String[]args) throws Exception { //用穷举法来试探1225+a*b+e*f-a-b-e-f==2015 (b=a+1,f=e+1) for(inti=1;i<</span>50;i++){ for(intj=1;j<</span>50;j++){ if((1225+i*(i+1)+j*(j+1)-i-j-(i+1)-(j+1))==2015&&i System.out.println(i+"*****"+j); } } } }}
·
八、题目
移动距离
X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3…
当排满一行时,从下一行相邻的楼往反方向排号。
比如:当小区排号宽度为6时,开始情形如下:
1
12 11 109
13 14 1516
我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)
输入为3个整数wm n,空格分开,都在1到10000范围内
要求输出一个整数,表示mn两楼间最短移动距离。
参考答案:
publicclass Question8{ publicstaticvoidmain(String[]args) { Scanner sc=newScanner(System.in); System.out.println("inputw:"); intw=sc.nextInt(); System.out.println("inputn:"); intn=sc.nextInt(); System.out.println("inputm"); intm=sc.nextInt(); int[][]a=newint[w][w]; for(inti=0;i if(i==0){//第一行 for(intj=0;j a[i][j]=j+1; } } elseif(i%2!=0){//奇数行 intt=w*i+1; for(intj=w-1;j>=0;j--){ a[i][j]=t++; } }else{//偶数行(除过0) intt=w*i+1; for(intj=0;j a[i][j]=t++; } } } //打印 for(inti=0; i <w; i++) { for(intj=0;j System.out.print(a[i][j]+"\t"); } System.out.println(); } //求最短路径 intx1=0,x2=0,y1=0,y2=0; for(inti=0;i for(intj=0;j if(a[i][j]==n){ x1=i; y1=j; } if(a[i][j]==m){ x2=i; y2=j; } } } intdistance=Math.abs((x2-x1)+(y2-y1)); System.out.println(distance); }}
九、题目
打印大X
小明希望用星号拼凑,打印出一个大X,他要求能够控制笔画的宽度和整个字的高度。
为了便于比对空格,所有的空白位置都以句点符来代替。
要求输入两个整数mn,表示笔的宽度,X的高度。用空格分开(0保证n是奇数)
要求输出一个大X
例如,用户输入:
3
程序应该输出:
再例如,用户输入:
4 21
程序应该输出
参考答案
publicclass Question9{ publicstaticvoidmain(String[]args) { Scanner sc=newScanner(System.in); System.out.println("inputn:"); intn=sc.nextInt(); System.out.println("inputm:"); intm=sc.nextInt(); char[][]ch=newchar[n][m+n-1]; //初始化方阵 for(inti=0;i for(intj=0;j1;j++){ ch[i][j]='.'; } } //用“*”填充方阵 for(inti=0;i for(intj=0,k=m+n-2;j<=k;j++,k--){ if(j ch[i][j+i]='*'; if(k>=n-1) ch[i][k-i]='*'; } } //打印 for(inti=0;i for(intj=0;j1;j++){ System.out.print(ch[i][j]+""); } System.out.println(); } }}
- 2016年java C组真题及答案
- 2016年计算机二级《C语言》基础练习题及答案
- C++/C试题及答案
- Java试题及答案
- Java常见问题及答案
- java 常见问题及答案
- C/C++ 练习题及答案
- 2016第七届蓝桥杯省赛C组试题及部分答案
- 2004年9月二级C笔试试题及答案
- 2004年4月二级C笔试试题及答案
- 2003年9月二级C笔试试题及答案
- 2003年4月二级C笔试试题及答案
- 2002年9月二级C笔试试题及答案
- 2002年4月二级C笔试试题及答案
- 2001年9月二级C笔试试题及答案
- 2001年4月二级C笔试试题及答案
- Java经典试题及答案
- Java经典试题及答案
- 图像的腐蚀与膨胀
- OEL6.6 安装OpenLDAP Server及其配置
- 定义一个抽象类Weapon(java)
- 关于第三方的SDK
- macdown操作手册
- 2016年java C组真题及答案
- 手把手教你做北邮操作系统小学期实验一——Linux启动过程优化4
- C语言 5个经典小程序
- 生活小常识
- 撑不住的时候就看看,一直留到高三…
- 02. JDBC 数据库基本操作
- ReactNative 如何获取组件的引用
- 10个Excel基础神技能
- spring基础学习