130道基础OJ编程题之: 89~107
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的更多相关文章
- 牛客OJ——[编程题]A+B和C__如何输入多组测试数据(测试OK)
几个要注意的地方: (1)Java OJ,必须将类名写成Main (2)关于如何输入多组测试数据,用二维数组去存储是一个方法,直接在while里面做也可以 但是如果 (3)关于整形 ...
- 50道经典的JAVA编程题 (1-5)
后天java考试,现在闲着也是闲着,来做做java题吧. 前不久在网上看见了50道java算法编程题,感觉还不错,记得大一学C语言的时候做过一些,现在用java来回顾下吧,也算应付考试吧. 代码要是有 ...
- 各位大佬Python的第一部分道基础题已经整理好了,希望大家面试的时候能用的上。
Python的第一部分道基础题,希望大家面试的时候能用的上. 1.为什么学习Python? Python是目前市面上,我个人认为是最简洁.最优雅.最有前途.最全能的编程语言,没有之一. 2.通过什么途 ...
- 汤姆大叔的6道javascript编程题题解
看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...
- 50道经典的JAVA编程题(汇总)
这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...
- 50道经典的JAVA编程题(46-50)
50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...
- 50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- 50道经典的JAVA编程题(36-40)
50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...
- 50道经典的JAVA编程题(31-35)
50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...
- 50道经典的JAVA编程题(26-30)
50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...
随机推荐
- Qt编写的项目作品7-视频监控系统
一.功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表.图文警情.窗口信息.云台控制.预置位.巡航设置.设备控制.悬浮地图.网页浏览等. 视频回放模块,包括本地回放.远程回放. ...
- 史上最通俗Netty入门长文:基本介绍、环境搭建、动手实战
原作者江成军,原题"还在被Java NIO虐?该试试Netty了",收录时有修订和改动. 1.阅读对象 本文适合对Netty一无所知的Java NIO网络编程新手阅读,为了做到这一 ...
- Event-Stream技术
服务端 websocket和event-stream的优缺点 WebSocket和Event-Stream(Server-Sent Events)都是实现实时通信的技术,但是它们各自有不同的优缺点. ...
- 记录uniapp上传图片转base64
// 图片转base64 imageToBase64() { return new Promise((reslove, reject) => { uni.getFileSystemManager ...
- MySQL8.0常用命令
---------------------------------------------------------------------------------------------------- ...
- .net core2.2版本下载地址
下载地址: https://download.visualstudio.microsoft.com/download/pr/279de74e-f7e3-426b-94d8-7f31d32a129c/e ...
- 『Python底层原理』--CPython如何编译代码
前一篇我们介绍了CPython VM的运行机制,它基于一系列字节码指令来实现程序逻辑. 不过,Python字节码在完整描述代码功能上存在局限性,于是代码对象应运而生.像模块.函数这类代码块的执行,本质 ...
- WEB系统安全之开源软件风险使用评估
本文分享自天翼云开发者社区<WEB系统安全之开源软件风险使用评估>,作者:Coding 中国信息通信研究院(China Academy of Information and Communi ...
- RestClient 通过拦截器实现请求加密
今天我发现了一个关于请求加密的有效写法,特此分享给大家.如果你的加密需求是将请求参数也包含在内,通常情况下,我们需要先将请求体转换成 JSON 格式或其他对象类型,再使用字符串的形式进行加密操作.以下 ...
- 2021 OWASP TOP 10
OWASP TOP 10 2021年版Top 10有哪些变化? 2021年版Top 10产生了三个新类别,原有四个类别的命名和范围也发生了变化,且进行了一些 整合. 2017年 TOP 10 top ...
