woneday嘿 2023-12-16 17:21 采纳率: 76.5%
浏览 6
已结题

这个哪里错了,得了80分

img


这个哪里错了,得了80分,调试,结,果,是,对的。该怎么,解决,呢?

  • 写回答

1条回答 默认 最新

  • ~白+黑 新星创作者: python技术领域 2023-12-16 20:04
    关注

    逻辑没问题,但是你这变量搞的有点多有点乱啊,得分80证明可以编译通过,剩下的就是优化一下了,减少变量,得到中位数结果以后应该直接break循环,返回结果,没必要继续循环浪费时间了,后面的if判断d,和s完全可以一行解决抛砖引玉吧!

    int main(void){
        int count=0;
        int lg;
        puts("请输入数组长度:");
        scanf("%d",&lg);
        int ary[lg];
        for(int i=0;i<lg;i++) scanf("%d",&ary[i]);
        for(int i=0;i<lg;i++){
            for(int k=0;k<lg;k++){
                if(ary[i]>ary[k]) ++count;
                else if(ary[i]<ary[k]) --count;
            }
            if (count==0) {
                printf("中间数是%d\n",ary[i]);
                break;
                return 0;
            }
            else count=0;
        }
        printf("没有中间数%d",-1);
        return 0;
    }
    ```c
    
    
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月16日