刷题的狂欢-----JAVA每日三练-----第九天
Posted 敲代码的xiaolang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题的狂欢-----JAVA每日三练-----第九天相关的知识,希望对你有一定的参考价值。
努力刷题,每日三题,题目来源于《Java课后实战训练手册》----清华大学出版社。
第一题
统计学生成绩,输入学生的学号及语文、数学、英语成绩,输出学生各科成绩信息、平均成绩和总成绩,运行结果如图所示。
import java.util.Scanner;
public class SchoolReport {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入本班学生总数:");
int studentcout = sc.nextInt();
int achivement[][] = new int[studentcout][4];
for (int i = 0; i < studentcout; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的编号:");
achivement[i][0] = sc.nextInt();
System.out.println("请输入语文成绩:");
achivement[i][1] = sc.nextInt();
System.out.println("请输入数学成绩:");
achivement[i][2] = sc.nextInt();
System.out.println("请输入英语成绩:");
achivement[i][3] = sc.nextInt();
}
System.out.println("学生成绩结果如下");
System.out.println("---------------------------------------------");
System.out.println("学生编号\\t语文成绩\\t数学成绩\\t英语成绩\\t平均成绩\\t总成绩");
for (int i = 0; i < achivement.length; i++) {
double sum = 0; //总成绩
double ave = 0; //平均成绩
for (int j = 0; j < achivement[i].length; j++) {
System.out.print(achivement[i][j] + "\\t");
if (j > 0) {
sum += achivement[i][j];
}
}
ave = sum / 3;
System.out.print(String.format("%.2f", ave) + "\\t" +(int)sum+ "\\n");
}
}
}
第二题
编写一个程序,一辆大巴有 9 排 4 列的座位,模拟这辆客车的售票过程( 1 代表“有票”, 0 代表“无票”),运行结果如图所示。
import java.util.Scanner;
public class Ticket {// 客车售票系统
public static void main(String[] args) {
int location[][] = new int[9][4];// 定义二维数组
for (int i = 0; i < 9; i++) {// for循环开始
for (int j = 0; j < 4; j++) {// for循环开始
location[i][j] = 1;// 初始化二维数组
}
}
while (true) {// 开始售票
// 输出标题
System.out.println(" 简单客车售票系统" + "\\n 9排4列的大巴车开始售票");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(location[i][j] + "\\t");// 输出售票信息
}
System.out.println();// 输出换行符
}
// 创建扫描器,用来进行用户输入
Scanner sc = new Scanner(System.in);
// 提示用户输入信息
System.out.print("请输入要预定的坐位行号:");
int row = sc.nextInt();// 得到坐位行数
// 提示用户输入信息
System.out.print("请输入要预定的坐位列号:");
int column = sc.nextInt();// 得到坐位列数
location[row - 1][column - 1] = 0;// 标记售出票状态
}
}
}
第三题
使用二维数组实现杨辉三角算法。
import java.util.Scanner;
public class Yanghui {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
// 由于每一行的元素个数不同,所以不定义每一行的个数
int[][] array = new int[row][];
for (int i = 0; i < row; i++) {
// 初始化每一行的这个一维数组
array[i] = new int[i + 1];
for (int j = 1; j <= row - i; j++) {
System.out.print(" ");
}
// 遍历这个数组,添加数组元素
for (int j = 0; j <= i; j++) {
// 每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
if (j == 0 || j == i) {
array[i][j] = 1;
} else {
array[i][j] = array[i - 1][j] + array[i - 1][j - 1];
}
System.out.print(array[i][j] + " ");
}
System.out.println();
}
}
}
加油!!!
以上是关于刷题的狂欢-----JAVA每日三练-----第九天的主要内容,如果未能解决你的问题,请参考以下文章