怎样在给定的数组中查找一个数

Input多组测试,每组第一行输入1个整数n(n<20),然后是n个整数第二行输入1个整数mOutput查找在第一行的n个整数中第一次出现数字m的下标位置并输出,如果没有... Input
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数
第二行输入1个整数m
Output
查找在第一行的n个整数中第一次出现数字m的下标位置并输出,如果没有找到则输出No
Sample Input
3 4 5 6
5
4 2 2 2 2
2
Sample Output
1
0
我写的:

#include<stdio.h>
int main()
{
int n,a[20];
int i,j,m;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(j=0;j<n;j++)
{
if(a[j]==m)
{
printf("%d\n",j);
break;
}
}
if(a[j]!=m) printf("No\n");
return 0;
}

怎么也过不了,求大神帮助!!!
展开
 我来答
霸道的浴霸
高粉答主

2018-04-17 · 说的都是干货,快来关注
知道大有可为答主
回答量:254
采纳率:46%
帮助的人:8.8万
展开全部

Input
多组测试,每组第一行输入1个整数n(n<20),然后是n个整数
第二行输入1个整数m
Output
查找在第一行的n个整数中第一次出现数字m的下标位置并输出,如果没有找到则输出No
Sample Input
3 4 5 6
5
4 2 2 2 2
2
Sample Output
1
0

n的值要初始化  m值最好也要初始化
if(a[j]==n) printf("No\n");

改成
if(j==n) printf("No\n")。

jackwind1987
推荐于2018-02-27 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:476万
展开全部
#include<stdio.h>
int main()
{
int n,a[20];
int i,j,m;
while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(j=0; j<n; j++)
{
if(a[j]==m)
{
printf("%d\n",j);
break;
}
}
if(j == n) printf("No\n");
}
return 0;
}
是多组测试的原因
注意这一行: while (scanf("%d", &n) != EOF)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友084bb78
推荐于2016-07-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2420
采纳率:76%
帮助的人:639万
展开全部
#include<stdio.h>
int main()
{
int n,a[20];
int i,j,m;
while (scanf("%d", &n) != EOF)
{
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(j=0; j<n; j++)
{
if(a[j]==m)
{
printf("%d\n",j);
break;
}
}
if(j == n) printf("No\n");
}
return 0;
}
是多组测试的原因
注意这一行: while (scanf("%d", &n) != EOF)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
月生恋珊
2013-01-26 · TA获得超过582个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:44万
展开全部
n的值要初始化 m值最好也要初始化
if(a[j]==n) printf("No\n");

改成
if(j==n) printf("No\n");
更多追问追答
追问
改了,自己测试可以过,但提交到ACM上去还是显示wrong answer
追答
初始化了吗
#include
int main()
{
int n=10,a[20];
int i,j,m=5;
for(i=0;i<n;i++)//输入10个数 查找5
{
scanf("%d",&a[i]);
}
scanf("%d",&m);
for(j=0;j<n;j++)
{
if(a[j]==m)
{
printf("%d\n",j);
break;
}
}
if(j==n) printf("No\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjfaok
2013-01-26 · TA获得超过6805个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1574万
展开全部
一开始没有读入n吗?
追问
不好意思,漏了一行。读入了n,但还是错误的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式