我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

xuer



誓言守护者 执着之戒 真诚之戒 勇敢之戒
性别: 帅哥 状态: 该用户目前不在线
头衔: 学而时习之
等级: 人见人爱
家族: 起早不摸黑
发贴: 3393
威望: 0
浮云: 0
在线等级:
注册时间: 2006-11-19
最后登陆: 2018-08-13

5come5帮你背单词 [ imply /im'plai/ n. 暗示,含有…的意义 ]


求教一C程序

#include<stdio.h>
void main()
{
  int i,flag=1,sign,top,btt,mid,s,weizhi;
  int a[15];
  char c;
  printf(" 请输入15个数\n");
  scanf("%d",&a[0]);
  for(i=1;i<15;)
  {
       scanf("%d",&a);
           if(a>a[i-1])
               i++;
           else
               printf("输入错误,请重新输入!!!\n");
  }
  for(i=0;i<15;i++)
       printf("%d\n",a);
  while(flag==1)
  {
       printf("请输入要查找的数\n");
      scanf("%d",&s);
       sign=0;
       top=0;
       btt=14;
       if((s>a[14])||(s<a[0]))
            weizhi=-1;
       while((sign==0)&&(top<=btt))
      {
        mid=(top+btt)/2;
        if(s==a[mid])
        {
         weizhi=mid;
         printf("第%d个数\n",weizhi+1);
         sign=1;
        }
       else if((s>a[mid]))
       top=mid+1;
       else
       btt=mid-1;
       }
       if(sign==0||weizhi==-1)
        printf("未找到\n");
        printf("continue or not(Y/N)?\n");
        scanf("%c",&c);
        if(c=='N'||c=='n')
         flag=0;
   
        
      
  }
}
      
就是二分法查找所输入的数,在程序最后几句
printf("continue or not(Y/N)?\n");
scanf("%c",&c);
if(c=='N'||c=='n')
flag=0
本来要判断是否继续查找,如果输入n则结束,否则继续查找,但是我在运行时发现似乎
scanf("%c",&c);
if(c=='N'||c=='n')
flag=0
这几句失去作用了,运行情况是这样的,见图,就是程序在输出continue or not(Y/N)?后直接输出“请输入要查找的数”,而本来是应该在我输入一字符再判断后才这样的,谁能说说这是怎么回事啊
远程图片:c.JPG
顶端 Posted: 2007-09-28 12:54 | [楼 主]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ trespass /'trespəs/ v. 侵犯,闯入私人领地 vi. 非法侵入,侵占 ]


for(i=1;i<15;)
  {
      scanf("%d",&a);
          if(a>a[i-1])
              i++;
          else
              printf("输入错误,请重新输入!!!\n");
  }
你这段程序想做什么?  我怎么看不明白,调试也通不过.
顶端 Posted: 2007-09-28 13:17 | [1 楼]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ nerve /nə:v/ n. 神经,勇气 ]


  for(i=0;i<15;i++)
      printf("%d\n",a);
还有这个,不明白.
顶端 Posted: 2007-09-28 13:19 | [2 楼]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ agony /'ægəni/ n. (极度的)痛苦,创痛 ]


确实有点诡异, scanf读取标准输入应该是阻塞的呀.
顶端 Posted: 2007-09-28 14:02 | [3 楼]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ amplifier /'æmplifait/ n. 放大器,扩音机 ]


Quote:
引用第8楼xuer于2007-09-28 13:53发表的  :
谁能说说怎么改啊,这道题太伤脑筋了

知道了,
顶端 Posted: 2007-09-28 14:09 | [4 楼]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ acre /'eikə/ n. 英亩 ]


把scanf("%c",&c);改成scanf("%c\n",&c)只有这样,\n才不回付给c
顶端 Posted: 2007-09-28 14:10 | [5 楼]
依然随意



性别: 帅哥 状态: 该用户目前不在线
等级: 前途无量
家族: ⊙JAY菊爱园⊙
发贴: 5922
威望: 0
浮云: 760
在线等级:
注册时间: 2006-09-25
最后登陆: 2022-10-30

5come5帮你背单词 [ grant /gra:nt/ n. 拨款,准许;v. 准予,授予,同意 ]


Quote:
引用第8楼xuer于2007-09-28 13:53发表的  :
谁能说说怎么改啊,这道题太伤脑筋了

你试一下看看,都是这讨厌的\n惹的祸.
顶端 Posted: 2007-09-28 14:12 | [6 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.007848(s) query 6, Time now is:06-27 00:02, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号