zoukankan      html  css  js  c++  java
  • 0421for循环各类题目

    for循环要点

    1.确认外层控制内容
    2.确认内层控制内容
    3.将打印内容与行号产生关系式
    4.有的语句可以用if语句,根据字符的个数来增减char,优化代码

    //部分类型只能输出奇数行,可在下半部分开始前,对行数做一个判断,根据讲述奇偶性调整自变量的取值;如下语句中的k
    	int k = i;
    	if (0 == line % 2) {
    		k = i - 1;
    	}
    			
    	for (int j = 1; j <= k; j++) {
    
    //偶数行的一半就是行数/2,奇数行的中间一行可以放在上半部分,先定义下半部分行数为  int = line / 2 ;再用总行数减去下半部分得到上半部分数值 
    	int cn = 2 * i - 1;//cn == charNumber
    	int bacCharNum = cn / 2;
    	int froCharNum = cn - bacCharNum;
    

    难度系数:重辣

    /*
    
    难度系数:重辣
         A
        ABA
       ABCBA
      ABCDCBA
     ABCDEDCBA
    ABCDEFEDCBA
    */
    
    class Demo8 {
    	public static void main(String[] args) {
    		
    		char ch = 'A';
    		int line = 10;
    				
    		for (int i = 1; i <= line;i++) {
    
    			ch = 'A';
    			
    			//输出空格
    			for (int j = 1; j <= line - i; j++) {
    				System.out.print(" ");
    			}
    			
    			int cn = 2 * i - 1;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    		
    			//输出每行的前半部分
    			for (int j = 1;j <= froCharNum ;j++) {
    				System.out.print(ch);
    				ch++;
    			}
    			
    			//输出每行的后半部分
    			ch -= 2;
    			for (int j = 1;j <= bacCharNum ;j++) {
    				System.out.print(ch);
    				ch--;
    			}			
    			System.out.println();
    		}
    	}
    }
    /*
    输出结果:
    
             A
            ABA
           ABCBA
          ABCDCBA
         ABCDEDCBA
        ABCDEFEDCBA
       ABCDEFGFEDCBA
      ABCDEFGHGFEDCBA
     ABCDEFGHIHGFEDCBA
    ABCDEFGHIJIHGFEDCBA
    */
    
    //难度系数:重辣
    //优化方案:将每行打印中的字母用if语句改写
    /*
         A
        ABA
       ABCBA
      ABCDCBA
     ABCDEDCBA
    ABCDEFEDCBA
    */
    
    class Demo88 {
    	public static void main(String[] args) {
    		
    		char ch = 'A';
    		int line = 10;
    				
    		for (int i = 1; i <= line;i++) {
    
    			ch = 'A';
    			ch --;
    			//输出空格
    			for (int j = 1; j <= line - i; j++) {
    				System.out.print(" ");
    			}
    			
    			int cn = 2 * i - 1;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    			
    		
    			for (int j = 1;j <= cn ;j++) {
    				if (j < froCharNum) {
    					ch++;
    				} else if (j == froCharNum) {
    					ch++;
    				} else {
    					ch--;
    				}
    				System.out.print(ch);
    			}
    			System.out.println();
    		}
    	}
    }
    

    难度系数:魔鬼辣

    /*
         A
        ABA
       ABCBA
      ABCDCBA
     ABCDEDCBA
    ABCDEFEDCBA
     ABCDEDCBA
      ABCDCBA
       ABCBA
        ABA
         A
    */
    class Demo9 {
    	public static void main(String[] args) {
    		
    		char ch = 'A';
    		int line = 11;//仅限奇数
    		
    		int downPart = line / 2;
    		int upPart = line - downPart;
    				
    		for (int i = 1; i <= upPart;i++) {
    			ch = 'A';
    			for (int j = 1; j <= upPart - i; j++) {
    				System.out.print(" ");
    			}
    			
    			int cn = 2 * i - 1;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    		
    			for (int j = 1;j <= froCharNum ;j++) {
    				System.out.print(ch);
    				ch++;
    			}
    				ch -= 2;
    			for (int j = 1;j <= bacCharNum ;j++) {
    				System.out.print(ch);
    				ch--;
    			}			
    			System.out.println();
    		}
    		
    		
    				
    		for (int i = 1;i <= downPart; i++) {
    			ch = 'A';
    			
    			int cn = 2 * downPart + 1 - 2 * i;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    			
    			for (int j = 1; j <= i; j++) {
    				System.out.print(" ");
    			}
    			
    			for (int j = 1;j <= froCharNum; j++) {
    			
    				System.out.print(ch);
    				ch ++;
    			}
    			ch -= 2;
    			for (int j = 1;j <= bacCharNum; j++) {
    				System.out.print(ch);
    				ch --;
    			}			
    			System.out.println();
    			
    		}
    	}
    }
    
    /*
    //难度系数:魔鬼辣
    //优化方案:调整为偶数也可以
    
         A
        ABA
       ABCBA
      ABCDCBA
     ABCDEDCBA
    ABCDEFEDCBA
    ABCDEFEDCBA
     ABCDEDCBA
      ABCDCBA
       ABCBA
        ABA
         A
    */
    
    class Demo99 {
    	public static void main(String[] args) {
    		
    		char ch = 'A';
    		int line = 12;
    		
    		int downPart = line / 2;
    		int upPart = line - downPart;
    				
    		for (int i = 1; i <= upPart;i++) {
    			ch = 'A';
    			for (int j = 1; j <= upPart - i; j++) {
    				System.out.print(" ");
    			}
    			
    			int cn = 2 * i - 1;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    		
    			for (int j = 1;j <= froCharNum ;j++) {
    				System.out.print(ch);
    				ch++;
    			}
    				ch -= 2;
    			for (int j = 1;j <= bacCharNum ;j++) {
    				System.out.print(ch);
    				ch--;
    			}			
    			System.out.println();
    		}
    		
    		
    		
    				
    		for (int i = 1;i <= downPart; i++) {
    			ch = 'A';
    			
    			int cn = 2 * downPart + 1 - 2 * i;
    			int bacCharNum = cn / 2;
    			int froCharNum = cn - bacCharNum;
    			
    			int k = i;
    			if (0 == line % 2) {
    				k = i - 1;
    			}
    			
    			for (int j = 1; j <= k; j++) {
    				System.out.print(" ");
    			}
    			
    			for (int j = 1;j <= froCharNum; j++) {
    			
    				System.out.print(ch);
    				ch ++;
    			}
    			ch -= 2;
    			for (int j = 1;j <= bacCharNum; j++) {
    				System.out.print(ch);
    				ch --;
    			}			
    			
    			System.out.println();
    		}
    	}
    }
    
    
  • 相关阅读:
    Object.defineProperty方法 使用
    Linux常用命令--网终设置
    Linux常用命令--文件操作、权限设置
    Linux常用命令
    vue之双绑实现
    【Objective-C学习记录】第二十九天
    【Objective-C学习记录】第二十八天
    【Objective-C学习记录】第二十四天
    【Objective-C学习记录】第二十三天
    【Objective-C学习记录】第二十二天
  • 原文地址:https://www.cnblogs.com/raising/p/12744447.html
Copyright © 2011-2022 走看看