回 帖 发 新 帖 刷新版面

主题:前辈们帮我改改错

输入56,结果正确;输入86,结果就不正确了。为什么呢?
main()
{
    int a[3]={98,86,56};
    int i,n, flag;
    printf("输出原有数据:\n");
    for(i=0;i<3;i++)
      printf("%4d",a[i]);
    printf("\n");
    printf("给n赋值:"); 
    scanf("%d",&n);
    for(i=0;i<3;i++)
    {
         if(n==a[i])
           flag=1;
         else
           flag=0;  
    }
    if(flag)
      printf("数据已存在!\n");
    else
      printf("数据不存在!\n");  
    
}

回复列表 (共2个回复)

沙发

没有跳出循环啊  检测到 86的时候就应该跳出循环

for(i=0;i<3;i++)
    {
         if(n==a[i]){
           flag=1;
           break;
         }else
           flag=0;  
    }

板凳

谢谢你

我来回复

您尚未登录,请登录后再回复。点此登录或注册