第六次作业

第一题.根据杨辉三角的性质输出一个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();//关闭扫描器
    }
}

代码结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值