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

@


89. BC101 班级成绩输入输出

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

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 矩阵元素定位

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

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 序列重组矩阵

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

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 最高身高

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

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 矩阵相等判定

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

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 上三角矩阵判定

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

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 矩阵转置

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

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 矩阵交换

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

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 杨辉三角

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

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 井字棋

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

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!"); }
}

最后:

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

130道基础OJ编程题之: 89~107的更多相关文章

  1. 牛客OJ——[编程题]A+B和C__如何输入多组测试数据(测试OK)

    几个要注意的地方: (1)Java OJ,必须将类名写成Main (2)关于如何输入多组测试数据,用二维数组去存储是一个方法,直接在while里面做也可以          但是如果  (3)关于整形 ...

  2. 50道经典的JAVA编程题 (1-5)

    后天java考试,现在闲着也是闲着,来做做java题吧. 前不久在网上看见了50道java算法编程题,感觉还不错,记得大一学C语言的时候做过一些,现在用java来回顾下吧,也算应付考试吧. 代码要是有 ...

  3. 各位大佬Python的第一部分道基础题已经整理好了,希望大家面试的时候能用的上。

    Python的第一部分道基础题,希望大家面试的时候能用的上. 1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途 ...

  4. 汤姆大叔的6道javascript编程题题解

    看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...

  5. 50道经典的JAVA编程题(汇总)

    这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...

  6. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  7. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  8. 50道经典的JAVA编程题(36-40)

    50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...

  9. 50道经典的JAVA编程题(31-35)

    50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...

  10. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

随机推荐

  1. Qt编写的项目作品7-视频监控系统

    一.功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表.图文警情.窗口信息.云台控制.预置位.巡航设置.设备控制.悬浮地图.网页浏览等. 视频回放模块,包括本地回放.远程回放. ...

  2. 史上最通俗Netty入门长文:基本介绍、环境搭建、动手实战

    原作者江成军,原题"还在被Java NIO虐?该试试Netty了",收录时有修订和改动. 1.阅读对象 本文适合对Netty一无所知的Java NIO网络编程新手阅读,为了做到这一 ...

  3. Event-Stream技术

    服务端 websocket和event-stream的优缺点 WebSocket和Event-Stream(Server-Sent Events)都是实现实时通信的技术,但是它们各自有不同的优缺点. ...

  4. 记录uniapp上传图片转base64

    // 图片转base64 imageToBase64() { return new Promise((reslove, reject) => { uni.getFileSystemManager ...

  5. MySQL8.0常用命令

    ---------------------------------------------------------------------------------------------------- ...

  6. .net core2.2版本下载地址

    下载地址: https://download.visualstudio.microsoft.com/download/pr/279de74e-f7e3-426b-94d8-7f31d32a129c/e ...

  7. 『Python底层原理』--CPython如何编译代码

    前一篇我们介绍了CPython VM的运行机制,它基于一系列字节码指令来实现程序逻辑. 不过,Python字节码在完整描述代码功能上存在局限性,于是代码对象应运而生.像模块.函数这类代码块的执行,本质 ...

  8. WEB系统安全之开源软件风险使用评估

    本文分享自天翼云开发者社区<WEB系统安全之开源软件风险使用评估>,作者:Coding 中国信息通信研究院(China Academy of Information and Communi ...

  9. RestClient 通过拦截器实现请求加密

    今天我发现了一个关于请求加密的有效写法,特此分享给大家.如果你的加密需求是将请求参数也包含在内,通常情况下,我们需要先将请求体转换成 JSON 格式或其他对象类型,再使用字符串的形式进行加密操作.以下 ...

  10. 2021 OWASP TOP 10

    OWASP TOP 10 2021年版Top 10有哪些变化? 2021年版Top 10产生了三个新类别,原有四个类别的命名和范围也发生了变化,且进行了一些 整合. 2017年 TOP 10 top ...