|
|
发表于 2012-4-17 23:16:27
|
显示全部楼层
猪八哥 发表于 2012-4-17 21:34
那意思 是没getchar 我的 scanf 等于是白搭。。。
其实可以不用加的。。
在%c前面加个空格也可以的。嘻嘻、、
scanf(" %c",&c);
改好的代码如下:- #include<stdio.h>
- #define M 10
- int main()
- {
- int a[M]={-12,0,6,16,23,56,80,100,110,115};
- int n,low,mid,high,found=0,s=1;
- char c;
-
- while(s)
- {
- low=0;
- high=M-1;
- found=0;
- printf("请输入要找的数字:");
- scanf("%d",&n);
- if((n<a[0] )|| (n>a[high]))
- found=0;
- while(low<=high && found!=1)
- {
- mid=(low+high)/2;
- if(n==a[mid])
- {
- found=1;
- printf("这个元素是:%d\n",mid);
-
- }
- else if(n>a[mid])
- low=mid+1;
- else
- high=mid-1;
- }
- if(found!=1)
- printf("没有这个数字\n");
- printf("还要再找吗(Y/N)?\n");
- scanf(" %c",&c);
- if(c=='N' || c=='n')
- s=0;
-
- }
- return 0;
- }
复制代码 |
|