JAVA 编程练习 7

题目:将一个数组逆序输出。

import java.util.*;
public class lianxi {
	public static void main(String[] args) {
	     int [] a=new int[7];
	     System.out.println("请输入一个长度为7的数组");
	     Scanner input=new Scanner(System.in);
      for(int i=0;i<7;i++){
    	  a[i]=input.nextInt();
      }
      System.out.println("原始数组为:");
      for(int i=0;i<7;i++){
    	  System.out.print(a[i]+"  ");
      }
      System.out.println("\n将数组逆序输出得:");
      for(int i=6;i>=0;i--){
    	  System.out.print(a[i]+"  ");
      } 
	}
}

import java.util.*;
public class lianxi {
	public static void main(String[] args) {
	 Scanner input=new Scanner(System.in);
	 System.out.println("请输入一个7位以上的整数");
	 long a=input.nextLong();
	 String ss = Long.toString(a);  //用字符串表现
	 char[] ch = ss.toCharArray();   //toCharArray() 方法将字符串转换为字符数组。
	 int i=ch.length;
	 if(i<7)
       System.out.println("输入有误,请按以上要求输入");
	 else
		 System.out.println("此整数从右端开始的4~7位是:"+ch[i-4]+ch[i-5]+ch[i-6]+ch[i-7]);
	}
}

打印出杨辉三角形(要求打印出10行如下图)

            1   
          1   1   
        1   2    1   
      1    3   3    1   
    1    4    6   4    1   
1    5    10   10    5    1   
…………

import java.util.*;
public class lianxi {
	public static void main(String[] args) {
	    int[][] a = new int[10][10];
	   for(int i=0; i<10; i++) {
	    a[i][i] = 1;
	    a[i][0] = 1;
	   }
	   for(int i=2; i<10; i++) {
	    for(int j=1; j<i; j++) {
	     a[i][j] = a[i-1][j-1] + a[i-1][j];
	    }
	   }
	     for(int i=0; i<10; i++) {
	    for(int k=0; k<2*(10-i)-1; k++) {
	     System.out.print(" ");
	    }
	    for(int j=0; j<=i; j++) {
	     System.out.print(a[i][j] + "   ");
	    }
	    System.out.println();
	   }
	}
	}

本来数组是 10*10的 矩阵 

for(int i=0; i<10; i++) {
	    for(int k=0; k<2*(10-i)-1; k++) {
	     System.out.print(" ");

这语句的作用是 输出空格 将10*10矩阵化成 三角形

杨辉三角的规律 在这语句体现出来

for(int i=2; i<10; i++) {
	    for(int j=1; j<i; j++) {
	     a[i][j] = a[i-1][j-1] + a[i-1][j];
	    }

输出结果为


题目:输入3个数a,b,c,按大小顺序输出

import java.util.*;
public class lianxi {
	public static void main(String[] args) {
		    Scanner s = new Scanner(System.in);
		    System.out.println("请输入3个整数:");
		    int a = s.nextInt();
		    int b = s.nextInt();
		    int c = s.nextInt();
		      if(a < b) {
		     int t = a;
		     a = b;
		     b = t;
		    }
		      if(a < c) {
		     int t = a;
		     a = c;
		     c = t;
		    }
		     if(b < c) {
		     int t = b;
		     b = c;
		     c = t;
		    }
		    System.out.println("从大到小的顺序输出:");
		    System.out.println(a + " " + b + " " + c);
		}
		} 

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。   

import java.util.*;
public class lianxi {
	public static void main(String[] args) {
		    Scanner s = new Scanner(System.in);
		    int [] a=new int[8];
		    int idmax=0,idmin=0;
		    System.out.println("输入长度为8的整型数组:");
		    for(int i=0;i<8;i++)
		        a[i]=s.nextInt();
		    int min=a[0];
	    	int max=a[0];
		    for(int i=0;i<8;i++){
		    	//找出最大值
		    	if(max<a[i]){  
		    		max=a[i];
		    		idmax=i;
		    	}
		    	//找出最小值
		    	if(min>a[i]){
		    		min=a[i];
		    		idmin=i;
		    	}
			 }
		    int N=a.length;
	      // 最大的数和第一个数交换位置
		    if (idmax != 0) {
				int temp = a[0];
				a[0] = a[idmax];
				a[idmax] = temp;
		    }
		 // 最小的数和最后一个数交换位置
			if (idmin != N - 1) {
				int temp1 = a[N - 1];
				a[N - 1] = a[idmin];
				a[idmin] = temp1;
			}
			System.out.println("\n交换后的数组为:");
			for (int i = 0; i < N; i++) {
				System.out.print(a[i] + " ");
			}
	
		}
		} 





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值