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. 开源即时通讯IM框架 MobileIMSDK:快速入门

    1.项目简介 MobileIMSDK是一套专为移动端开发的原创IM通信层框架: 1)历经8年.久经考验: 2)超轻量级.高度提炼,lib包50KB以内: 3)精心封装,一套API同时支持UDP.TCP ...

  2. 深入Python胶水语言的本质:从CPython到各类扩展机制

    在开始深入讲解Python如何作为胶水语言之前,我们需要先了解Python语言本身的实现机制.这对于理解Python如何与C语言交互至关重要. CPython:Python的默认实现 当我们谈论Pyt ...

  3. 今天记录一下管理系统中预览pdf的方法

    在管理系统中,有很多需要预览文件的操作,既方便用户查看又可以不用打开新的页面,我发现一个不错的方法,记录一下 <el-dialog title="" :visible.syn ...

  4. 【推荐】一款开源且成熟的OA协同办公系统,自带低代码开发功能!

    项目介绍 今天给大家推荐一款开源且拥有成熟的OA办公系统功能,自带低代码开发平台,可以快速搭建OA系统.人事系统.CRM系统.办公用品系统.项目管理系统.合同管理系统等,让你可以快速上手.快速实施.快 ...

  5. ctfshow--web3 incluede伪协议注入

    这题一看就知道是个伪协议的题 直接用data伪协议 ls 查看目录 data://text/plainy, 再cat 一下就拿到flag了

  6. C# LinkedList 删除元素

    开发中经常有任务队列的设计,主要用于存储待执行的任务.由于任务来源的多样性,因此有时候需要一颗后悔药,将队列中某些待执行任务删除.此时使用LinkedList比较合适. public LinkedLi ...

  7. ISA-L库调研

    本文分享自天翼云开发者社区<ISA-L库调研>,作者:何****尔 1.Intel SIMD指令集 SIMD(single instruction multiple data)单指令多数据 ...

  8. Jenkins+Coverage的代码覆盖率集成实践

    Jenkins+Coverage的代码覆盖率集成实践 一.工具介绍 Jenkins: Jenkins是一个开源的.基于Java开发的持续集成工具,它可以帮助开发人员自动化构建.测试和部署软件项目. C ...

  9. [记录点滴] luaxml编译过程

    [记录点滴] luaxml编译 记录一次luaxml编译的解决过程 参考 http://blog.csdn.net/dc_show/article/details/38957991 0x01 编译错误 ...

  10. autohue.js:让你的图片和背景融为一体,绝了!

    需求 先来看这样一个场景,拿一个网站举例 这里有一个常见的网站 banner 图容器,大小为为 1910*560 ,看起来背景图完美的充满了宽度,但是图片原始大小时,却是: 它的宽度只有 1440 , ...