输入一个数,如这个数是偶数或者负数,则输出它的平方,否则输出它的一半

img


麻烦各位帮我看看哪没对,输入4,结果却是160ಥ_ಥ刚刚接触c语言

测试图:

img

代码修改如下:

#include<stdio.h>

int main()
{
    int n;
    float k;
    scanf("%d",&n);
    if(n%2==0||n<0)
        printf("%d",n*n);
    else{
        k=(float)n/2;
        printf("%f",k);
    }
    
    return 0;
}

希望对题主有所帮助!可以的话,帮忙点个采纳!

K的打印不在else里面,k输出了一个0应该跟前面的结果也就是16拼起来了

两个问题,一是最后一个printf应该在else的代码块;二是k是浮点型,不能用%d输出,修改如下:
else
{
k = (float)n/2;
printf("%f",k);
}