永发信息网

C语言Search Problem

答案:1  悬赏:50  手机版
解决时间 2021-03-27 10:56
  • 提问者网友:几叶到寒
  • 2021-03-26 17:20
C语言Search Problem
最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-03-26 17:53
===============1====================
Input
输入分为两部分:第一部分是第一行,有N+1个整数,第一个正整数为N(N<=10000),表示后跟一个有N个元素的整数序列。
第二部分从第二行开始直到EOF结束,每行为一个整数k。

Output
输出为多行,与输入的第2部分顺序对应,每行输出为:找到整数序列中最后一个值为k的整数并输出它的下标(范围是1~N),若找不到则输出“NOT FOUND”。
===============2====================
Input
输入分为两部分:第一部分是第一行,有N+1个整数,第一个正整数为N(N<=10000),表示后跟一个有N个元素的整数序列。
第二部分从第二行开始直到EOF结束,每行为一个整数i。

Output
输出为多行,与输入的第2部分顺序对应,每行输出为:
若i>0,从输入的整数序列中找到第i个整数并输出它的值,若i<0,从输入的整数序列中找到倒数第i个整数并输出它的值,若i不在整数序列的下标范围(1~N和-N~-1)内则输出“OUT OF RANGE”。
================3====================
Input
输入分为两部分:第一部分是第一行,有N+1个整数,第一个正整数为N(N<=10000),表示后跟一个有N个元素的整数序列。
第二部分从第二行开始直到EOF结束,每行为一个整数K。

Output
输出为多行,与输入的第2部分顺序对应,每行输出为:找到整数序列中所有值为k的整数并按从小到大输出它们的下标(范围是1~N),若找不到则输出“NOT FOUND”。

#include
int main()
{
int a[10000],i,j,n,k;
scanf("%d",&n);
for(i=0;i {
scanf("%d",&a[i]);
}
while(scanf("%d",&k))
{
j=n-1;
for (;j>=0;j--)
{
if (a[j]==k)
{
printf("%d\n",j+1);
break;
}
}
if (j<0)
{
printf("NOT FOUND\n");
}
}

return 0;
}
2.
#include
int main()
{
int a[10000],i,j,n,k;
//////2////////////
scanf("%d",&n);
for(i=0;i {
scanf("%d",&a[i]);
}
while(scanf("%d",&k))
{

if (k>0)
{
if (k>n)
printf("OUT OF RANGE\n");
else
printf("%d\n",a[k-1]);
}

if (k<0)
{
int j=n-1;
j=n+k;
if (-k>n)
{
printf("OUT OF RANGE\n");
}else
printf("%d\n",a[j]);
}
}
return 0;
}
3.
#include
int main()
{
int a[10000],i,j,n,k;
scanf("%d",&n);
for(i=0;i {
scanf("%d",&a[i]);
}
while(scanf("%d",&k))
{
j=0;
for(i=0;i {
if (a[i]==k)
{
j=1;
printf("%d ",i+1);
}
}
if (j==0)
printf("NOT FOUND");
printf("\n");
}
return 0;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯