C语言 Search Problem
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 09:00:37
C语言 Search Problem
Input
输入分为两部分:第一部分是第一行,有N+1个整数,第一个正整数为N(N<=10000),表示后跟一个有N个元素的整数序列.
第二部分从第二行开始直到EOF结束,每行为一个整数K.
Output
输出为多行,与输入的第2部分顺序对应,每行输出为:找到整数序列中所有值为k的整数并按从小到大输出它们的下标(范围是1~N),若找不到则输出“NOT FOUND”.
Input
输入分为两部分:第一部分是第一行,有N+1个整数,第一个正整数为N(N<=10000),表示后跟一个有N个元素的整数序列.
第二部分从第二行开始直到EOF结束,每行为一个整数K.
Output
输出为多行,与输入的第2部分顺序对应,每行输出为:找到整数序列中所有值为k的整数并按从小到大输出它们的下标(范围是1~N),若找不到则输出“NOT FOUND”.
1.#include <stdio.h>
int main()
{
\x09int a[10000],i,j,n,k;
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09\x09j=n-1;
\x09\x09\x09for (;j>=0;j--)
\x09\x09\x09{
\x09\x09\x09\x09if (a[j]==k)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09printf("%d\n",j+1);
\x09\x09\x09\x09\x09break;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09\x09if (j<0)
\x09\x09\x09{
\x09\x09\x09\x09printf("NOT FOUND\n");
\x09\x09\x09}
\x09\x09}
\x09\x09
\x09
\x09return 0;
}
2.
#include <stdio.h>
int main()
{
\x09int a[10000],i,j,n,k;
\x09//////2////////////
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09
\x09\x09if (k>0)
\x09\x09{
\x09\x09\x09if (k>n)
\x09\x09\x09printf("OUT OF RANGE\n");
\x09\x09\x09else
\x09\x09\x09printf("%d\n",a[k-1]);
\x09\x09}
\x09\x09
\x09\x09if (k<0)
\x09\x09{
\x09\x09\x09int j=n-1;
\x09\x09\x09j=n+k;
\x09\x09\x09if (-k>n)
\x09\x09\x09{
\x09\x09\x09\x09printf("OUT OF RANGE\n");
\x09\x09\x09}else
\x09\x09\x09printf("%d\n",a[j]);
\x09\x09}
\x09}
\x09return 0;
}
3.
#include <stdio.h>
int main()
{
\x09int a[10000],i,j,n,k;
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09j=0;\x09\x09
\x09\x09for(i=0;i<n;i++)
\x09\x09{
\x09\x09\x09if (a[i]==k)
\x09\x09\x09{
\x09\x09\x09\x09j=1;
\x09\x09\x09\x09printf("%d ",i+1);
\x09\x09\x09}
\x09\x09}
\x09\x09if (j==0)
\x09\x09printf("NOT FOUND");
\x09\x09printf("\n");
\x09}
\x09return 0;
}
再问: OJ说是输出超限。。。
int main()
{
\x09int a[10000],i,j,n,k;
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09\x09j=n-1;
\x09\x09\x09for (;j>=0;j--)
\x09\x09\x09{
\x09\x09\x09\x09if (a[j]==k)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09printf("%d\n",j+1);
\x09\x09\x09\x09\x09break;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09\x09if (j<0)
\x09\x09\x09{
\x09\x09\x09\x09printf("NOT FOUND\n");
\x09\x09\x09}
\x09\x09}
\x09\x09
\x09
\x09return 0;
}
2.
#include <stdio.h>
int main()
{
\x09int a[10000],i,j,n,k;
\x09//////2////////////
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09
\x09\x09if (k>0)
\x09\x09{
\x09\x09\x09if (k>n)
\x09\x09\x09printf("OUT OF RANGE\n");
\x09\x09\x09else
\x09\x09\x09printf("%d\n",a[k-1]);
\x09\x09}
\x09\x09
\x09\x09if (k<0)
\x09\x09{
\x09\x09\x09int j=n-1;
\x09\x09\x09j=n+k;
\x09\x09\x09if (-k>n)
\x09\x09\x09{
\x09\x09\x09\x09printf("OUT OF RANGE\n");
\x09\x09\x09}else
\x09\x09\x09printf("%d\n",a[j]);
\x09\x09}
\x09}
\x09return 0;
}
3.
#include <stdio.h>
int main()
{
\x09int a[10000],i,j,n,k;
\x09scanf("%d",&n);
\x09for(i=0;i<n;i++)
\x09{
\x09\x09scanf("%d",&a[i]);
\x09}
\x09while(scanf("%d",&k))
\x09{
\x09\x09j=0;\x09\x09
\x09\x09for(i=0;i<n;i++)
\x09\x09{
\x09\x09\x09if (a[i]==k)
\x09\x09\x09{
\x09\x09\x09\x09j=1;
\x09\x09\x09\x09printf("%d ",i+1);
\x09\x09\x09}
\x09\x09}
\x09\x09if (j==0)
\x09\x09printf("NOT FOUND");
\x09\x09printf("\n");
\x09}
\x09return 0;
}
再问: OJ说是输出超限。。。
C语言 Search Problem
c语言 Money Problem
c语言编程sum problem
c语言;Problem C:简单的数值统计 .
C语言 Problem C:简单的数值统计
One way _____ this problem ________ search for some informat
search for information about the population problem in china
One way _____ this problem ______ search for some informatio
求大神指导C语言 Readings:Chapter 6 (arrays)Problem:Write a C-progra
C语言求max Problem DescriptionGiven a sequence a[1],a[2],a[3].a
c语言 ACM一题Problem DescriptionContest time again!How excited i
Problem Description 给定两个正整数,计算这两个数的最小公倍数.C语言