本人刚开始接触C语言几天(完全小白),账号都刚注册
底下的scanf("%c",&c);为何怎样都不执行
我用的是dev c++的编译器,谢谢大佬们解答
#include<stdio.h>
int main()
{
int i,m[16],top,bot,mid,a,sign=0;
char c;
printf("你输入的15个由小到大的数依次为(空格隔开):");
again:
scanf("%d",&m[1]);
for(i=2;i<=15;i++)
{
scanf("%d",&m[i]);
if(m[i]>=m[i-1]);
else
{
printf("顺序错误,请全部重新输入:\n");
goto again;
}
}
start:
printf("请输入需查找的数:");
scanf("%d",&a);
if(a<m[1]||a>m[15])
goto end;
for(top=1,bot=15;top<=bot;)
{
mid=(top+bot)/2;
if(a==m[mid])
{
printf("该数被找到,且为第%d个元素(若有相等元素,只显示最前面的一个元素)",mid);
sign=1;
break;
}
else if(a<m[mid])bot=mid-1;
else if(a>m[mid])top=mid+1;
}
if(sign==0)
{
end:
printf("无此数\n");
printf("是否重新输入:");
scanf("%c",&c);
if(c=='Y'||c=='y')goto start;
}
return 0;
}