当前位置:编程学习 > C/C++ >>

C语言 例如:输入十个数: 1,2,3,4,5,6,7,8,9,10 输入查找数:3 找到:a[2]; 输入查找数20未找到

#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); printf("find ! a[%d]\n",*search(b,number)); } int *search(int *a,int num) { int i,*p; for(i=0;i<10;i++) if(a[i]=num){ p=&i; break; } return p; }
答案:#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语言题目

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,