C语言编程题:编写从整型数组中检索给定数值的函数,若找到则输出该数值在数组中的位置

请问我的程序错哪了?系统提示说break不合法#include<stdio.h>intp(floata[],floatx,intn,intk){inti;for(i=0;... 请问我的程序错哪了?系统提示说break不合法
#include <stdio.h>
int p(float a[],float x,int n,int k)
{
int i;
for (i=0;i<n;i++)
if(a[i]==x) k=i+1;
else k=0;
return k;
}
main()
{
float q[10000],x;
int i,k=0;
printf("请输入数据库,输入1.5结束:\n");
for(i=0;i<10000;i++);
{
scanf("%f",&q[i]);
if(q[i]=1.5)
{
printf("输入要找的数据");
break;
}
}
scanf("%f",&x);
for(i=0;i<10000;i++)
p(q,x,10000,k);
if(k!=0)
printf("数据在数据库中位置是%d",k);
if(k=0)
printf("数据不在数据库中%d");
}
展开
 我来答
raef_beyond
推荐于2018-03-07 · TA获得超过1651个赞
知道小有建树答主
回答量:382
采纳率:50%
帮助的人:237万
展开全部
是这样的,你的for语句后面多了个分号,相当于你的for语句什么都没做,
后面的大括号并不是for循环体所以break非法。
另外你的if(q[i]=1.5)写错了,应该是:if(q[i]==1.5)。

希望对你有帮助。
Yuqi_Tan

2015-05-13 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3497万
展开全部
首先,请你把for(i=0;i<10000;i++);这一句最后的分号去掉。
改成:for(i=0;i<10000;i++)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户44010
2019-05-04
知道答主
回答量:4
采纳率:0%
帮助的人:1111
展开全部
不用10000循环两次,错误很多,对照看吧
#include <stdio.h>
int p(float q[],float x,int n,int k)
{
int i;
for (i=0;i<10000;i++)
{
if(q[i]==x) printf("数据在数据库中位置是%d",i+1);;
if(q[i]!=x) k=0;
}
}
int main()
{
float q[10000],x;
int i,k=0;
printf("请输入数据库,输入1.5结束:\n");
for(i=0;(i<10000)&&(q[i-1]!=1.5);i++)
scanf("%f",&q[i]);
printf("输入要找的数据");
scanf("%f",&x);
p(q,x,10000,k);
printf("若未显示位置则数据不在数据库中");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式