
c语言程序题,关于查找数组b中是否存在一个数字。不知道哪里出错了……求解?
c语言程序题,关于查找数组b中是否存在一个数字。不知道哪里出错了……求解?#include intsearch();//查找某个数字是否出现在这个 i...
c语言程序题,关于查找数组b中是否存在一个数字。不知道哪里出错了……求解?#include
int search();//查找某个数字是否出现在这个
int main()
{
int a[100]={1,2,3,4,5,6,7,8,9,10,11,};
int b[10];
int i=0;
int ctn=0;
int k;
for(i=0;i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]);i++){
b[i]=a[i];
}//把数组a的值赋给b数组
int x;
printf("输入一个要查找的数字\n");
scanf("%d",&x);
int lenth=sizeof(b)/sizeof(b[0]);
k=search(x,b,sizeof(b)/sizeof(b[0]));
//<<<<<<-------------------------------------------------------不知道哪里出错了,总之编译的时候会出现:“ [Note]declared here”,求解
if(ctn==1){
printf("%d在这个数组中的第%d个\n",x,k);
}
else{
printf("该数组中不存在%d\n",x);
}
return 0;
}
int search(int x,int b[],int lenth)
{
int ret=0;
int ctn=0;
for(ret=0;ret if(x==b[ret]){
ctn=1;
break;
}
}
return ret;//返回函数值
} 展开
int search();//查找某个数字是否出现在这个
int main()
{
int a[100]={1,2,3,4,5,6,7,8,9,10,11,};
int b[10];
int i=0;
int ctn=0;
int k;
for(i=0;i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]);i++){
b[i]=a[i];
}//把数组a的值赋给b数组
int x;
printf("输入一个要查找的数字\n");
scanf("%d",&x);
int lenth=sizeof(b)/sizeof(b[0]);
k=search(x,b,sizeof(b)/sizeof(b[0]));
//<<<<<<-------------------------------------------------------不知道哪里出错了,总之编译的时候会出现:“ [Note]declared here”,求解
if(ctn==1){
printf("%d在这个数组中的第%d个\n",x,k);
}
else{
printf("该数组中不存在%d\n",x);
}
return 0;
}
int search(int x,int b[],int lenth)
{
int ret=0;
int ctn=0;
for(ret=0;ret if(x==b[ret]){
ctn=1;
break;
}
}
return ret;//返回函数值
} 展开
3个回答
展开全部
#include <stdio.h>
// 函数声明的形参列表与定义的不同
int search(int x,int b[],int lenth);//查找某个数字是否出现在这个
int main()
{
int a[100]= {1,2,3,4,5,6,7,8,9,10,11,};
int b[10];
int i=0;
int ctn=0;
int k;
for(i=0; i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]); i++) {
b[i]=a[i];
}//把数组a的值赋给b数组
int x;
printf("输入一个要查找的数字\n");
scanf("%d",&x);
int lenth=sizeof(b)/sizeof(b[0]);
// 定义了就使用
k=search(x,b,lenth);
//<<<<<<-------------------------------------------------------不知道哪里出错了,总之编译的时候会出现:“ [Note]declared here”,求解
// 逻辑错误
if(k!=-1) {
printf("%d在这个数组中的第%d个\n",x,k);
} else {
printf("该数组中不存在%d\n",x);
}
return 0;
}
int search(int x,int b[],int lenth)
{
int ret;
// for循环语法错误
for(ret = 0; ret < lenth; ++ret) {
if( x == b[ret] )
return ret+1;
}
return -1;//返回函数值
}
展开全部
search函数声明的和定义不一致,声明中也应该包含参数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;i b[i]=a[i];//这是些什么东西??!!!!
追问
抱歉,那个没打全……
它是for(i=0;i<sizeof(a)/sizeof(a[0])&&i<sizeof(b)/sizeof(b[0]);i++){
b[i]=a[i];
}//把数组a的值赋给b数组
追答
改后,还有问题吗?
for(ret=0;ret if(x==b[ret]){//这又什么东西??!!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |