蓝桥杯基础10:BASIC-5试题 查找整数

资源限制

内存限制:256.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s

问题描述

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

输入格式

第一行包含一个整数n。

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

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

输出格式

如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。

样例输入

6
1 9 4 8 3 9
9

样例输出

2

数据规模与约定

1 <= n <= 1000。

法一:

#include<stdio.h>
#include<math.h>
#define N 1001 
int num[N];
int main()
{
    int n,i,a,flag=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&num[i]);
    }
    scanf("%d",&a);
    for(i=0;i<n;i++)
    {
        if(num[i]==a)
        {
             printf("%d\n",i+1);
             flag=1;
             break;
        }
    }
    if(!flag)
    {
        printf("-1\n");
    }
    return 0;
}

法二:

#include<stdio.h>
#define max 10000
int main(){
	int n,i,b;
	scanf("%d",&n);
	int a[max];
	for(i=0;i<n;i++)
	 scanf("%d",&a[i]);
	scanf("%d",&b);
	for(i=0;i<n;i++)	
		if(a[i]==b){
	  	printf("%d",i+1);
	  	return 0; 
        }
        printf("-1");
	return 0;
}

法三:

#include <stdio.h>
int main()
{
    int i, m, n, a[1000];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        scanf("%d", &a[i]);
    scanf("%d", &m);
    for (i = 0; i < n; i++)
        if (a[i] == m) break;
    if (i == n)
        printf("-1");
    else
        printf("%d", i + 1);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_60530224/article/details/128658501