130道基础OJ编程题之: 89 ~107

130道基础OJ编程题之: 89~107

@[toc]


89. BC101 班级成绩输入输出

班级成绩输入输出_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        for(int i = 0; i < 5; i++) {
            float sum = 0.0f;
            float score = 0.0f;
            int j = 0;
            for(j = 0; j < 5;j++) {
                score = in.nextFloat();
                sum += score;
                System.out.printf("%.1f ",score);
            }
            
            System.out.printf("%.1f\n",sum);
        }
    }
}

99. BC102 矩阵元素定位

矩阵元素定位_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
       int n = in.nextInt();
       int m = in.nextInt();

       int[][] arr = new int[n][m];

       for(int i = 0; i < n; i++) {
        for(int j = 0; j < m;j++) {
            arr[i][j] = in.nextInt();
        }
       }

       int n2 = in.nextInt();
       int m2 = in.nextInt();

       System.out.println(arr[n2 - 1 ][m2 - 1]);
    }
}

100. BC103 序列重组矩阵

序列重组矩阵_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(); 
        int m = in.nextInt();

        int[] arr = new int[n * m ];

        for(int i = 0; i < n * m; i++) {
            arr[i] = in.nextInt();
        }

        for(int i = 1; i <= n * m; i++) {
            System.out.printf("%d ",arr[i-1]);

            if(i % m == 0) {
                System.out.println();
            }
        }
    }
}

101. BC104 最高身高

最高身高_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();

        int x = 0;
        int y = 0;

        int max = 0;

// 注意它的下标,不是从 0 开始,而是从 1 开始的
        for(int i = 1; i <= n; i++ ) {
            for(int j = 1; j <= m ;j++) {
                int num = in.nextInt();
                if( num > max) {
                    max = num;
                    x = i;
                    y = j;
                }
            }
        }

        System.out.printf("%d %d",x,y);
    }
}

102. BC105 矩阵相等判定

矩阵相等判定_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

import java.util.Arrays;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();

        int[] arr = new int[n * m];
        int[] arr2 = new int[n* m];

        for(int i = 0;i < n * m; i++) {
            arr[i] = in.nextInt();
        }

        for(int i = 0; i < n * m ; i++) {
            arr2[i] = in.nextInt();
        }

        if(Arrays.equals(arr,arr2)) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
        

    }
}

103. BC106 上三角矩阵判定

上三角矩阵判定_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();

        int[][] a = new int[n][n];
        int i = 0;
        int j = 0;
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                a[i][j] = in.nextInt();
            }
        }
        //判断
        for (i = 0; i < n; i++) {
            for (j = 0; j < n; j++) {
                if (i > j) {
                    if (a[i][j] != 0) {
                        //   下三角有不是0的就不满足printf("NO");
                        System.out.println("NO");
                        return;
                    }
                }
            }
        }

        System.out.println("YES");
    }
}

104. BC107 矩阵转置

矩阵转置_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt(); // 2
        int m = in.nextInt(); // 3

        int[][] arr = new int[n][m];

        for(int i = 0; i < n; i ++) {
            for(int j = 0; j < m; j++) {
                arr[i][j] = in.nextInt(); // 读取
            }
        }

        for(int i = 0; i < m; i ++) {  // 2
            for(int j = 0; j < n; j++) {  // 3 
                System.out.printf("%d ",arr[j][i]); // 注意: 这里防止数组越界了,因为是行列倒置了。
            }

            System.out.println();
        }

        
    }
}

105. BC108 矩阵交换

矩阵交换_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        int m = in.nextInt();

        int[][] arr = new int[n][m];


        // 读取输入内容
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr[i][j] = in.nextInt();
            }
        }

        int time = in.nextInt(); // 读取判断,输入替换的次数
        for (int i = 0; i < time; i++) {
            // 读取判断是否,为是 一个 "c" 还是  "r"
            String str = in.next();
            // 读取替换的内容
            int a = in.nextInt();
            int b = in.nextInt();
            if (str.contains("c"))  { // // 当且仅当此字符串包含指定的char值序列时才返回true。         // 为 c 进行一个行列的变换
                for (int h = 0; h < n; h++) {
                    int temp = arr[h][a - 1];
                    arr[h][a - 1]  = arr[h][b - 1]; // 行列内容替换
                    arr[h][b - 1] = temp;
                }

            } else if (str.contains("r")) {  //  为 r 是对行进行替换,交换
                for (int h = 0; h < m; h++) {
                    int temp = arr[a - 1][h];
                    arr[a - 1][h]  = arr[b - 1][h]; // 行列内容替换
                    arr[b - 1][h] = temp;
                }
            }
        }


// 遍历数组,
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < m ;j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }

    }
}

106. BC109 杨辉三角

杨辉三角_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int[][] arr = new int[n][n];

        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                if (i == j) { // 当 i == j 的时候,就是最边上的位置,是为 1 的
                    arr[i][j] = 1;
                } else if (j == 0) { // 第一列的内容是为 1 的
                    arr[i][j] = 1;
                } else if( i > 1 && j > 0){ // 否则每个数等于它左上方和上方的两数之和,第一列和对角位置,不需要动
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
            }
        }


        // 遍历数组
        for(int i = 0; i < n; i++) {
            for(int j = 0; j <= i; j++) {
                System.out.printf("%5d", arr[i][j]);
            }
            System.out.println();
        }
    }
}

107. BC110 井字棋

井字棋_牛客题霸_牛客网

java 复制代码
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char[][] arr = new char[3][3];

        for (int i = 0; i < arr.length; i++) {
            // arr[i].length 表示的是第一行的字符的个数
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = in.next().charAt(0); // 字符串截取第一个字符内容

            }
        }

        // 判断,是否胜利,横向,竖向,正对角线,右对角线
        // 竖
        for (int i = 0; i < arr.length; i++) {
            if (arr[0][i] == arr[1][i] && arr[1][i] == arr[2][i]) {
                if (arr[0][i] == 'K') {
                    System.out.println("KiKi wins!");
                    return;
                } else if (arr[0][i] == 'B') {
                    System.out.println("BoBo wins!");
                    return;
                } else {
                    System.out.println("No winner!");
                    return;
                }
            }
        }

        // 横向
        for (int i = 0; i < arr.length; i++) {
            if (arr[i][0] == arr[i][1] && arr[i][1] == arr[i][2]) {
                if (arr[i][0] == 'K') {
                    System.out.println("KiKi wins!");
                    return;
                } else if (arr[i][0] == 'B') {
                    System.out.println("BoBo wins!");
                    return;
                } else {
                    System.out.println("No winner!");
                    return;
                }
            }
        }

        // 正对角线

        if (arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2]) {
            if (arr[0][0] == 'K') {
                System.out.println("KiKi wins!");
                return;
            } else if (arr[0][0] == 'B') {
                System.out.println("BoBo wins!");
                return;
            } else {
                System.out.println("No winner!");
                return;
            }
        }



        // 右对角线
        if (arr[0][2] == arr[1][1] && arr[1][1] == arr[2][0]) {
            if (arr[0][2] == 'K') {
                System.out.println("KiKi wins!");
                return;
            } else if (arr[0][2] == 'B') {
                System.out.println("BoBo wins!");
                return;
            } else {
                System.out.println("No winner!");
                return;
            }
        }

        System.out.println("No winner!");

    }
}

最后:

"在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。"

相关推荐
小九没绝活1 分钟前
设计模式-适配器模式
java·设计模式·适配器模式
重庆穿山甲11 分钟前
中介者模式实战指南:基于 Java 的多场景案例实现解析
后端
希忘auto29 分钟前
Spring Cloud之负载均衡之LoadBalance
java·spring cloud
川石课堂软件测试39 分钟前
涨薪技术|Kubernetes(k8s)之Pod环境变量
java·功能测试·docker·云原生·容器·kubernetes·单元测试
ん贤40 分钟前
【数据结构】栈与队列:基础 + 竞赛高频算法实操(含代码实现)
java·数据结构·c++·算法
啾啾Fun1 小时前
[设计模式与源码]1_Spring三级缓存中的单例模式
java·后端·spring·解耦·三级缓存·源码中的单例模式·依赖解耦
小九没绝活1 小时前
设计模式-建造者模式
java·设计模式·建造者模式
forestsea1 小时前
Java 8 Stream API:传统实现和流式编程的范式对比
java·开发语言
tan_jianhui1 小时前
用maven生成springboot多模块项目
java·spring boot·maven
珹洺1 小时前
计算机网络:(二)计算机网络在我国发展与网络类别与性能 (附带图谱更好对比理解)
运维·服务器·网络·数据库·后端·计算机网络