蓝桥杯学习记录
分析:
有输入,且输入为三行,要控制输入的格式.
输出是一个整数表示它第一次出现的位置(要注意它的位置是从一开始的 ,且只输出它第一次出现的位置,后面的不能输出)
数据规模要求,在代码中要体现
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 的,千万不能忽视.)
反思
一般在数列的第一个位置或者最后一个位置都是很特殊的,用来控制输出格式,当然在中间的位置按照不同的题目要求也是可以控制的,所以在这些点要多多注意