将一个数组中的15个值已经按升序排列好,输入一个数,编程查找是否有该数,有显示其所在的位置。

#include<stdio.h>
main()
{
int a[15]={3,7,13,12,21,23,30,34,43,45,52,56,67,78,89};
int *p,t,i;
printf("input a number:");
scanf("%d",&t);
p=a;
for(i=0;i<15;i++)
{
if(t==*p)
printf("located in a[15]:%d\n",i+1);
else
printf("no found");break;
*p++;
}
}

第1个回答  2013-06-27
#include<stdio.h>
main()
{
int a[15]={3,7,13,12,21,23,30,34,43,45,52,56,67,78,89};
int *p,t,i;
printf("input a number:");
scanf("%d",&t);
p=a;
for(i=0;i<15;i++)
{
if(t==*p)
{
printf("located in a[15]:%d\n",i+1);
break;    //查到以后就跳出循环
}
else
printf("no found");    //这里的break删掉,否则只查一次就跳出循环
*p++;
}
}

另外,数组下标和指针方式遍历数组,只要用一种就可以了。

本回答被提问者采纳
相似回答