#include stdio.h
十载的德江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整德江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“德江网站设计”,“德江网站推广”以来,每个客户项目都认真落实执行。
int search(int a[],int b,int c,int i)
{
int x,y,z;
x=i+1;
z=b-1;
y=(x+z)/2;
while(x=z)
{
if(a[y]c)
{
z=y-1;
y=(x+z)/2;
continue;
}
if(a[y]c)
{
x=y+1;
y=(x+z)/2;
continue;
}
return y+1;
}
return -1;
}
int main()
{
int i,m,pos;
scanf("%d",m);
int a[m];
for(i=0;im;i++)
{
scanf("%d",a[i]);
}
for(i=0;im;i++)
{
pos=search(a,m,a[i],i);
if(pos!=-1)
{
printf("FOUND a[%d]=%d, position is %d\n",i,a[i],i+1);
return 0;
}
}
if(pos==-1)
{
printf("NOT FOUND\n");
}
return 0;
}
这种查找方法的数组必须是从小到大的,用遍历的话就没这个问题了。
首先,指针默认只有一个地址的长度的空间,存不了那么多的字符。
其次,传值和传地址一塌糊涂,完全就是乱写么。
scanf的第二个参数是地址,如果本身不是指针则需要取址符。
我给你重写了算了
#includestdio.h
int Retrieve(int array[],int length,int x);/*形参x直接传值就可以了*/
int main()
{
int *a,x;
int length,i;
scanf("%d",length);
a = (int)malloc(sizeof(int)*length); /*申请一个内存空间用来存放数据,或者直接用一个大数组也可以*/
函数名: findfirst(); findnext ();
功 能: 搜索磁盘目录; 取得下一个匹配的findfirst模式的文件 ;
用 法:
int findfirst(char *pathname, struct ffblk *ffblk, int attrib);
int findnext(struct ffblk *ffblk);
举例:
/* findnext example */
#include stdio.h
#include dir.h
int main(void)
{
struct ffblk ffblk;
int done;
printf("Directory listing of *.*\n");
done = findfirst("*.*",ffblk,0);
while (!done)
{
printf(" %s\n", ffblk.ff_name);
done = findnext(ffblk);
}
#includestdio.h
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}