蓝桥杯练习7

  1. 问题 1461: [蓝桥杯][基础练习VIP]FJ的字符串
    规律很容易看出来,就是把上一次的字符串重复两次,中间加上一个ASCII码不断+1的字符
    1
    121
    1213121
    121312141213121
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String s = "";//空字符串,不是空格
		for (int i = 65; i - 65 < n; i++) {//A的ASCII码就是65
			char c = (char) i;
			s = s + c + s;
		}
		System.out.println(s);
	}
}

  1. 问题 1463: [蓝桥杯][基础练习VIP]Sine之舞
    这个讲的很好 点这里,本来想写一个递归形式的,但是sn的拼装会用到an,递归反而重复计算了
package 蓝桥;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        scanner.close();
        // 每个A先做好
        String[] an = new String[n];
        for (int i = 0; i < n; i++) {
            if (i == 0) {
                an[i] = "sin(1";
            }else {
                if (i % 2 == 1) {
                    an[i] = an[i-1]+"-sin("+(i+1);
                }else {
                    an[i] = an[i-1]+"+sin("+(i+1);
                }
            }
        }
        // 给每个A添上右边的括号
        for (int i = 0; i < n; i++) {
            for (int j = 0; j <= i; j++) {
                an[i] = an[i]+ ")";
            }
        }
        // 做Sn
        int count = n;
        StringBuffer sn = new StringBuffer();
        for (int i =0; i < n-1; i++) {
            sn.append("(");
        }
        for (int i = 0; i < n; i++) {
            if (i == n-1) {
                sn.append(an[i]+"+1");
            }else {
                sn.append(an[i]+"+"+count+")");
            }
            count--;
        }
        System.out.println(sn);
    }
}
  1. 问题 1466: [蓝桥杯][基础练习VIP]字符串对比
    考察对String的方法的熟悉
    1.长度 String.lenth()
    2.完全相同 String.equals(String anotherString)
    3.不区分大小写相同 String.equalsIgnoreCase(String anotherString)
    4.符合1不符合23的
    注意读入数据时使用next(),我使用nextLine()错误数据20%,应该是他的两行数据之间有空格或空行,前者会跳过,后者不会。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s1=sc.next();
        String s2=sc.next();
        if(s1.length()!=s2.length()) {
        	System.out.println(1);
        }else if(s1.equals(s2)) {
        	System.out.println(2);
        }else if(s1.equalsIgnoreCase(s2)) {
        	System.out.println(3);
        }else {
        	System.out.println(4);
        }
    }
}
发布了41 篇原创文章 · 获赞 1 · 访问量 1464

猜你喜欢

转载自blog.csdn.net/qq_44467578/article/details/104077694