第一题.根据杨辉三角的性质输出一个10行10列的杨辉三角
代码:
public class diliuci1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int n = 10;
int[][] arr = new int [n][n];//定义一个二维数组
for(int i = 0; i < arr.length; i++) {
//给数组赋值头尾都是1
arr[i][i] = 1;
arr[i][0] = 1;
System.out.print(arr[i][0]+"\t");//输出第一行
for(int j = 1;j < i; ++j) { //根据杨辉三角的性质循环计算每一行的值
arr[i][j] = arr[i-1][j] + arr[i-1][j-1];
System.out.print(arr[i][j]+"\t");//输出
}
if(i != 0) {//每层最后一个输出一个1
System.out.print(arr[i][i]);
}
System.out.println();
}
}
}
代码结果:
第二题.统计成绩,输入学生的学号以及各科成绩,统计各科成绩,平均成绩,总分
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in); //创建扫描器
int num=3; //学生数量
int di=4; //学科数量:学科数量加一,加上学号
int[][] stud=new int[num][di];
//输入所有学生的成绩,学号,语文,英语,数学
for (int i = 0; i < stud.length; i++) {
int count=0;
System.out.println("请输出第"+(i+1)+"个学生的编号:");
stud[i][count++]=in.nextInt();
System.out.println("请输入语文成绩:");
stud[i][count++]=in.nextInt();
System.out.println("请输入数学成绩:");
stud[i][count++]=in.nextInt();
System.out.println("请输入英语成绩:");
stud[i][count]=in.nextInt();
}
System.out.println("学生成绩结果如下");
System.out.println("---------------------------------");
System.out.printf("%-10s %-10s %-10s %-10s %-10s %-10s","学生编号","语文成绩","数学成绩","英语成绩","平均成绩","总成绩");
System.out.println();
for (int i = 0; i < stud.length; i++) {
int sum=0; //保存每一个学生的成绩总和
System.out.printf("%-16d",stud[i][0]); //输出学号
//因为学号占0位置处,所以内循环从1开始
for (int j = 1; j < stud[i].length; j++) {
//计算总成绩和
sum+=stud[i][j];
//输出每科成绩
System.out.printf("%-15d",stud[i][j]);
}
//计算平均值
System.out.printf("%-12.2f", (double)sum / (stud[i].length-1) );
System.out.printf("%d\n",sum); //输出总和
}
in.close(); //关闭扫描器
}
}
代码结果:
第三题.编写一个程序,一辆大巴车有9排4列座位,模拟这辆车的售票过程(1代表有票,0代表没票)
代码:
import java.util.Arrays;
import java.util.Scanner;
public class diliuci3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc =new Scanner(System.in);//打开扫描器
System.out.println(" "+"简单的客车售票系统");
System.out.println(" "+"9排4列的大巴车开始售票");
//控制行和列
int a = 4;
int b = 9;
int[][] arr=new int [b][a];
int count = 0;//计数器
//循环输出原座位
for(int i = 0;i < arr.length; i++) {
for(int j = 0;j < arr[i].length;j++) {
Arrays.fill(arr[i], 1);//将所有元素替换为1
System.out.print(arr[i][j]+" ");
if((++count) == 4) {//判断如果输出了三个数,那就进行换行
count = 0;
System.out.println();
}
}
}
System.out.print("请输入要预定的座位行号:");
int cmu=sc.nextInt();//接收数据
System.out.print("请输入要预定的座位列号:");
int cmu2=sc.nextInt();
if( (cmu > 9 || cmu <= 0) || (cmu2 > 4 || cmu2 <= 0)){
System.out.println("选择座位错误,无此座位号,请重新选择!!!");
return;
}
arr[cmu-1][cmu2-1]=0;//将输入的座位号对应的元素重新赋值为0
System.out.println(" "+"简单的客车售票系统");
System.out.println(" "+"9排4列的大巴车开始售票");
//输出售票后的座位
for(int i = 0;i < arr.length; i++) {
for(int j = 0;j < arr[i].length;j++) {
System.out.print(arr[i][j]+" ");
if((++count) == 4) {//判断如果输出了三个数,那就进行换行
count = 0;
System.out.println();
}
}
}
sc.close();//关闭扫描器
}
}
代码结果: