查找整数

问题描述

给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

输入格式

第一行包含一个整数n。

第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。

第三行包含一个整数a,为待查找的数。

输出格式
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。
样例输入
6
1 9 4 8 3 9
9
样例输出
2
数据规模与约定
1 <= n <= 1000。

import java.util.Scanner;

public class SeekInt {

	public static void main(String[] args){		
		Scanner sc = new Scanner(System.in);
		int a[] = new int[1002]; 
		int n = sc.nextInt();
		for(int i=1; i<=n; i++){
			a[i] = sc.nextInt();			
		}
		
		int b = sc.nextInt();
		int index = -1;
		for(int i=1; i<=n; i++){			
			if(a[i] == b){
				index = i;
				break;
			}	
		}
		
		System.out.println(index);
	}
}


在C语言中实现查找整数的功能,有多种方法,下面结合参考内容介绍两种常见的方式。 ### 线性查找方法 线性查找是一种简单直接的查找方法,它会依次遍历数组中的每个元素,直到找到目标整数或遍历完整个数组。 示例代码如下: ```c #include <stdio.h> void precious() { int n, x, i, flag = 0, a[20]; scanf("%d%d", &n, &x); for (i = 0; i < n; i++) { scanf("%d", &a[i]); if (x == a[i]) { flag = 1; printf("%d\n", i); } } if (flag == 0) printf("Not Found\n"); } int main() { precious(); return 0; } ``` 该代码中,`precious` 函数用于实现查找整数的功能。首先读取数组的长度 `n` 和要查找整数 `x`,然后依次读取数组元素,当找到与 `x` 相等的元素时,输出其位置并将标志 `flag` 置为 1。若遍历完数组都未找到,则输出 "Not Found" [^1]。 另一个类似的线性查找示例代码如下: ```c #include <stdio.h> int main() { int n, x, i, index = -1; int a[100]; scanf("%d %d", &n, &x); for (i = 0; i < n; i++) { scanf("%d", &a[i]); } for (i = 0; i < n; i++) { if (a[i] == x) { index = i; break; } else index = -1; } if (index == -1) printf("Not Found"); else printf("%d", index); return 0; } ``` 此代码先读取数组长度和要查找整数,再读取数组元素,之后遍历数组查找目标整数。若找到,记录其位置并跳出循环;若未找到,`index` 保持为 -1。最后根据 `index` 的值输出结果 [^4]。 ### 输入输出要求 输入方面,通常第一行包含一个整数 `n` 表示数组长度,第二行包含 `n` 个非负整数作为给定的数列(数列中的每个数都不大于 10000),第三行包含一个整数 `a` 为待查找的数。输出时,如果 `a` 在数列中出现了,输出它第一次出现的位置(位置从 1 开始编号),否则输出 -1 [^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值