当前位置: 代码迷 >> 综合 >> 【ACM之旅】查找整数
  详细解决方案

【ACM之旅】查找整数

热度:24   发布时间:2024-01-20 22:08:45.0

一、[题目] 查找整数

时间限制:1.0s   内存限制:512.0MB

问题描述

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

输入格式

第一行包含一个整数n,1<=n<=1000。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。

输出格式

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

样例输入

6
1 9 4 8 3 9
9

样例输出

2


二、[代码]:

PS. 查找整数 是一道简单的数据查找题目,解题的关键就在于“顺序查找”,以下列出我的解法。

算法一: 顺序查找法

#include <stdio.h>  
int main()  
{  
int i,p=0;
scanf("%d",&i);
int *a=new int[i+1];
while(i--){
scanf("%d",&a[p++]);
}
scanf("%d",&a[p]);
while(a[++i]!=a[p]&&i<p){}
printf("%d",i<p?i+1:-1);
delete a;
return 0;
}  


欢迎评论和转载,转载请注明文章出处,我对此表示最真诚的敬意!
  相关解决方案