原创


三、程序设计题(不得改变已经给出的部分,允许添加新的辅助函数或类)(共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. mongodb分片(七)

    1.插入负载技术分片架构图 2.片键的概念和用处 看下面这个普通的集合和分片后的结果 3.什么时候用到分片呢? 3.1机器的磁盘空间不足 3.2单个的mongoDB服务器已经不能满足大量的插入操作 3 ...

  2. gridView删除提示框

    实现方法: 双击GridView的OnRowDataBound事件: 在后台的GridView1_RowDataBound()方法添加代码,最后代码如下所示: protected void GridV ...

  3. dbf 命令 及数据类型

    left()函数只能截取左边几位字符,截取中间字符用SUBSTR() SUBSTR(cExpression, nStartPosition [, nCharactersReturned]) dbf u ...

  4. django网页的分页功能,大家如果有疑问请留言

    url文件 from django.contrib import admin from django.conf.urls import url from app01 import views urlp ...

  5. JNI 里使用STL

    JNI里的c或者c++ 调用stl 的时候,比如引入map头文件: #include <map> 在cygwin使用NDK编译的时候,会提示: fatal error:map: No su ...

  6. GameObject.DestroyImmediate(go, true)会使磁盘资源数据丢失,导致不可用

    GameObject.DestroyImmediate(go, true)会使磁盘资源数据丢失,导致不可用 第二个参数true表示 allowDestroyingAssets,表示允许销毁资源. 实测 ...

  7. linux 下的mysql 连接报错

    报错: Fri Jul 28 16:28:52 CST 2017 WARN: Establishing SSL connection without server’s identity verific ...

  8. iOS学习之自定义弹出UIPickerView或UIDatePicker(动画效果)

    前面iOS学习之UIPickerView控件的简单使用 用到的UIPickerView弹出来是通过 textField.inputView = selectPicker;   textField.in ...

  9. web前端整套面试题(三)--网易的面试题

    题型分析: 一.选择题部分(30分) 元素出栈可能性 排序方法的优缺点 HTTP请求方法 关系型数据库种类 多线程(进程与线程共享) 计算机网络协议 linux指令 JQuery实现方法 二.编程题( ...

  10. default of c#

    [default of c#] 在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构. 给 ...