蓝桥杯学习记录

分析:
有输入,且输入为三行,要控制输入的格式.
输出是一个整数表示它第一次出现的位置(要注意它的位置是从一开始的 ,且只输出它第一次出现的位置,后面的不能输出)
数据规模要求,在代码中要体现

import java.util.Scanner;

/*给出一个包含n个数的数列,问某个数第一次出现的位置 //输入 // 第一行包含一个整数n // 第二行包含n个非负整数,是给定的数列,每个数都不大于1000 // 第三行包含一个数,是要寻找的整数 //输出他第一次出现的位置(数列位置从1开始计数) //样例输入: * 6 * 1 9 4 8 3 9 * 9 * 样例输出: * 2 */

public class DiYiCiChuXian {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt();//第一行
		int []arr = new int[n];//第二行
		for(int i=0;i<n;i++) {
			arr[i]= cin.nextInt();
		}
		int m =cin.nextInt();//第三行
		cin.close();
		if(1<=n&&n<=1000) 
		{
			int j;
			for( j=0;j<n;j++) {
				if(arr[j]==m) {
					System.out.println(j+1);
					break;//用break退出循环,这样就不会输出其余的数 
				}	
			}if(j==n) {
				System.out.println(-1);
			}
			
		}else {
			System.out.println(-1);
		}
	}

}

思路
用简单循环来判断,要找的数在数列中是否出现,只要出现了,就用break进来退出循环,假如数列中没有要找的数(技师指当找到最后一个位置j==n的时候都没有找到,这时候是需要输出-1 的,千万不能忽视.)

反思
一般在数列的第一个位置或者最后一个位置都是很特殊的,用来控制输出格式,当然在中间的位置按照不同的题目要求也是可以控制的,所以在这些点要多多注意