为什么我这个题目系统判定不对?

如题

img


自己实验输三个数都可以出来中间那个数

可能题目的意思是输出第二大小的数吧,不是第二个输入的数字。

因为你的输入固定了中间数就是第二个,但是如果你输入的不是1 2 3,而是1 3 2,那你的代码输出就是3,这就出错了
正确的应该是输入完全后,再加一个大小对比处理,最简单的方法就是主意比较

#include <stdio.h>
#include <stdlib.h> 
int main() 
{ 
  int x,y,z,temp; 
  scanf("%d %d %d",&x,&y,&z); 
  if(x>y) 
  { 
    temp=x; x=y; y=temp; 
  } 
  if(x>z) 
  { 
    temp=x; x=z; z=temp; 
   } 
  if(y>z) 
  { 
    temp=y; y=z; z=temp; 
  } 
  printf("%d",y); 
  return 0; 
} 

题目是让你就输出中间那个数,你这代码三个数都输出来了