原创


三、程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共36分)

(6分)1、以下函数的功能是判断一个正整数是否为质数,若是返回true,否则返回false。其中参数data为要判断的正整数。请给出其实现代码。

public boolean isPrime(int data)

{

}

 class Main{

     public boolean isPrime(int data){
if(data==1 || data==2){
return true;
}
for(int i=2;i<=Math.sqrt(data);i++){
if(data%i==0){
return false;
}
}
return true;
}
} public class Test { public static void main(String[] args) {
Main test=new Main();
for(int i=1;i<=20;i++){
if(test.isPrime(i)==true){
System.out.println(i+"是质数");
}else{
System.out.println(i+"是合数");
}
}
} }

(8分)2、以下函数的功能是判断一个整数数组是否有序(升序或降序,允许相等),若是有序的返回true,否则返回false。其中参数data为要判断的数组。请给出其实现代码。

public boolean isSorted(int[] data)

{

}

class Main{

    public boolean isSorted(int[] data){    //有序返回true,否则返回false

        int flag=2;    //0代表升序,1代表降序,2代表相等

        for(int i=0;i<data.length-1;i++){
if(data[i]<data[i+1]){ //升序
if(flag==1){ //原来不能降序
return false;
}
flag=0;
}else if(data[i]>data[i+1]){ //降序
if(flag==0){ //原来不能升序
return false;
}
flag=1;
}else{ //相等
flag=2;
}
} return true;
} } public class Test { public static void main(String[] args) {
Main test=new Main();
int data[]={1,3,3,4,5,6,7,8,9};
if(test.isSorted(data)){
System.out.println("有序");
}else{
System.out.println("无序");
}
} }

(10分)3、以下函数的功能是寻找一个矩阵中的所有“奇点”,即返回每一行的“奇点”所在列的坐标,若某行不存在“奇点”则返回-1。其中参数data为要判断的数组。所谓“奇点”是指该处的数值在它所处的行与列都是最大的。若每行存在多个“奇点”,仅取第一个(从左到右顺序)。假设矩阵中的数据如下所示,则返回数组值为{3, 1, -1}(左边),{1, 0, -1, 2}(右边)。

1

4

9

17

2

16

8

13

2

3

4

8

11

16

5

23

16

8

2

9

4

4

8

12

public int[] singularity (int[][] data)

{

}

 class Main{

     public int[] singularity (int[][] data){
int res[]=new int[data.length];
for(int i=0;i<res.length;i++){
res[i]=-1;
}
for(int i=0;i<data.length;i++){
for(int j=0;j<data[0].length;j++){
int flag1=1;
int flag2=1;
int max=data[i][j];
for(int rank=0;rank<data[0].length;rank++){ //判断行最大
if(data[i][rank]>data[i][j]){
flag1=0;
}
}
for(int row=0;row<data.length;row++){ //判断列最大
if(data[row][j]>data[i][j]){
flag2=0;
}
}
if(flag1==1 && flag2==1){ //奇点
res[i]=j;
break;
}
}
}
return res;
}
} public class Test { public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
Main test=new Main();
int data[][]=new int[4][3];
for(int i=0;i<data.length;i++){
for(int j=0;j<data[0].length;j++){
data[i][j]=reader.nextInt();
}
}
int input[]=test.singularity(data);
for(int i=0;i<input.length;i++){
System.out.print(input[i]+" ");
}
} }

(12分)4、以下函数的功能是判断矩阵中的两个不同且不在边界上的点是否匹配,若匹配则返回true,否则返回false。其中,其中参数data为要判断的数组,i1与j1表示第一点的下标(从0开始计数),i2与j2表示第二点的下标。两个点匹配应同时满足如下条件:①两个点所赋予的值相同,且不等于0;②能够找到一条折线(最多包含三条水平或垂直的线段)将它们连接起来,而且这条折线所经过的点所赋予的值全部为0。假设矩阵中的数据如下所示,则点[1, 3]与[4, 2]是匹配的,点[1, 3]与[2, 2]是匹配的,而点[1, 4]与[3, 4]是不匹配的,点[3, 1]与[3, 4]也是不匹配的。

0

1

0

2

0

3

0

0

0

2

3

4

0

1

2

4

1

0

0

3

4

0

3

1

0

0

2

0

3

0

public boolean isMatch (int[][] data, int i1, int j1, int i2, int j2)

{

}

桂林理工大学第十届java程序设计初试竞赛试题的更多相关文章

  1. 《Java程序设计》课程试题

    < Java程序设计 >课程试题 一.单项选择题(20题:每题2分,共40分) 1.若数组a定义为int[][]a=new int[3][4],则a是___. A)一维数组 B)二维数组 ...

  2. (java保留n位小数)precise math function 北京信息科技大学第十届ACM程序设计竞赛 第2题

    precise math function Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Othe ...

  3. 西南科技大学第十届ACM程序设计竞赛题解

    A.德州扑克 B. 我恨11(1089) 问题描述 11是一个孤独的数字,小明十分讨厌这个数字,因此如果哪个数字中出现了11或者该数字是11的倍数,他同样讨厌这个数字.现在问题来了,在闭区间[L,R] ...

  4. 第十届蓝桥杯省赛-试题E: RSA 解密

    试题E: RSA 解密 这里涉及到很多数论的知识:质因子分解,扩展欧几里得算法,快速幂算法,利用快速乘算法求解快速幂(mod太大导致不能直接乘,而是需要使用加法来替代乘法) 另外还需要注意扩展欧几里得 ...

  5. 20145213《Java程序设计》第十周学习总结

    20145213<Java程序设计>第十周学习总结 教材学习总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接 ...

  6. 21045308刘昊阳 《Java程序设计》第十周学习总结

    21045308刘昊阳 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴:程序员所作的事情 ...

  7. 《Java程序设计》第十周学习总结

    20145224 <Java程序设计>第十周学习总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的 ...

  8. 20145236 《Java程序设计》 第十周学习总结

    20145236 <Java程序设计> 第十周学习总结 Java网络编程 Java网络编程技术 Java语言是在网络环境下诞生的,所以Java语言虽然不能说是对于网络编程的支持最好的语言, ...

  9. csu 1503: 点弧之间的距离-湖南省第十届大学生计算机程序设计大赛

    这是--比量p并用交点连接中心不上弧.在于:它至p距离.是不是p与端点之间的最短距离 #include<iostream> #include<map> #include< ...

随机推荐

  1. javascript slice array to num subarray

    var data = ['法国','澳大利亚','智利','新西兰','西班牙','加拿大','阿根廷','美国','0','国产','波多黎各','英国','比利时','德国','意大利','意大利 ...

  2. Tkinter Relief styles(样式)

      Tkinter Relief styles: 构件的浮雕式是指某些模拟的3-D周围的部件外的影响.下面是一排按钮的屏幕截图展示了所有可能的救济风格   构件的浮雕式是指某些模拟的3-D周围的部件外 ...

  3. leetcode830

    public class Solution { public IList<IList<int>> LargeGroupPositions(string S) { //" ...

  4. RHCE7 学习里程-3基本命令

    一.centos7  基本命令 #创建文件 touch a.b #创建文件夹 mkdir abc #删除文件 rm -f a.b #删除空文件夹 rm -rf abc #重命名文件 mv 源文件 新文 ...

  5. Windows下安装kibana

    1. 下载ElasticSearch https://www.elastic.co/downloads/kibana https://www.elastic.co/downloads/past-rel ...

  6. rails 部署 nginx + passenger

    转自 http://segmentfault.com/a/1190000002911605 https://ruby-china.org/topics/16245 运行 RAILS_ENV=produ ...

  7. MFC单文档分割区(CSplitterWnd)

    用VS08程序向导,单文档程序,默认设置生成的.工程名为3view; 其中默认生成的视图类CMy3viewView,对应3viewView.h,3viewView.cpp; 在Resourse Vie ...

  8. 【300】◀▶ IDL - ENVI API

    参考:ENVI API 参考:ENVI Classic Display 序号 类名称   功能说明   语法 & 举例 01 ENVI 函数   ====<<<< De ...

  9. Ubuntu 15.04 开机无法进入图形界面,自动进入emergency mode解决方法

    原因:关机的时候没有正常退出,直接强制关机了... 解决: 就是在那个GIVE root password for maintenance (or type control-D to continue ...

  10. SPI子系统分析之三:驱动模块

    内核版本:3.9.5 SPI核心层(平台无关) SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位 ...