c语言分段函数的问题

img

 
#include <stdio.h>
#include <math.h>
int  main()
{
    int n,j;
    int x;
    double y;
    scanf("%d",&n);
    for(j=0;j<n;j++)
    {
    scanf("%d",&x);
    if(x<=0)
        printf("0\n");
    else if(x>10)
       printf("%d\n",2*x + 1);
    else
    {
        y = sqrt(x); 
        if(y==(int)y)
            printf("%d\n",(int)y);
        else
            printf("%.2lf\n",y);   
    }
} 
    return 0;    
}


#include "stdio.h"
#include "math.h"
void main()
{
    int x;
    double y;
    scanf("%d",&x);
    if(x<=0)
        y = 0;
    else if(x>0 && x<=10)
        y = sqrt(x);
    else
        y = 2*x + 1;
    printf("y=%.2lf",y);        
}