测试图:
代码修改如下:
#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);
}