输入15个整数存入一维数组,从中查找某个整数,(该数从健盘上读取),若查到,输出它是5个数中的第几个数(序号从1开始);若查不到,则输出"Not Find".
输入10个整数存入一维数组,从中查找某个整数,(该数从健盘上读取),若查到,输出它是10个数中的第几个数(序号从1开始);若查不到,则输出"Not Find",要求用指针处理.
void Main
{
int a[5],*p,x,n,flag=0;
printf("请输入10个整数!!!\n");
for(p=a;p<a+10;p++)
{
scanf("%d",p);
}
printf("请输入一个你要找的整数!!!\n");
scanf("%d",&x);
printf("你输入的数为:%d\n",x);
for(n=0,p=a;p<a+10;p++,n++)
{
if(*p==x)
{
flag=1;break;
}
if(flag)
{
printf("找到数为%d\n",n);
}
else
{
printf("Not Find\n");
}
}
}
问题:输入的数为1,2,3,4,5,9,10,11,21,22
回车
输入3,没有找到数.
明明存入数组中有10个数,为什么第二循环找不到这个数呢?请高手帮忙检查检查。
使用的工具为:Micrsoft visual c++ 6.0.
此题是自考(专科)高级语言程序设计 主编:迟成文。