答案:#include<stdio.h>
int search(int *a,int num);
int main(void)
{
int i,number;
int b[10];
printf("Enter 10 number:");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
printf("search ?");
scanf("%d",&number);
i=search((int *)b,number);
if(i<10)
printf("find num:%d at a[%d]\n",number,i);
else
printf("num:%d not found!\n",number);
return 0;
}
int search(int *a,int num)
{
int i;
for(i=0;i<10;i++)
if(a[i]==num){//注意,这里是两个=,不是一个,否则变为赋值了。
break;
}
return i;
}
C:\mypro>gcc -g -Wall searchNum.c -o searchNum
C:\mypro>searchNum
Enter 10 number:1 2 3 4 5 6 7 8 9 10
search ?3
find num:3 at a[2]
C:\mypro>searchNum
Enter 10 number:1 2 3 4 5 6 7 8 9 10
search ?20
num:20 not found!
C:\mypro>
已调试通过,直接运行即可。
其他:楼主这是? 好像完成了呀。
int search(int *a,int num);int main(void)
{
int i,number;
int b[10];
printf("Enter 10 number");
for(i=0;i<10;i++)
scanf("%d",&b[i]);
printf("search ?");
scanf("%d",&number);
int index = search(b,number)
if(-1 == index)
{
printf(" not found Position! );
}
printf("find ! a[%d]\n",index );
}
}
int search(int *a,int num)
{
int i=0,p=-1;
for(i=0;i<10;i++)
if(a[i]==num){
p=i;
break;
}
return p;
}
在网吧 没编译器 自己改改 你想干啥,给你找错误 还是啥 我刚测试过了
还是因为 if(a[i]=num) 少了个等号
上一个:C语言。请帮忙编一个程序
下一个:一道有难度的C语言题目