C语言输出实数绝对值

img
为什么我输入正数会出现两个,是我的if判定语句哪里写错了吗,求告知。

else后面的两句放在{}中


else
{
  a=~a+1;
  printf("%d\n",a);
}

15行加一个缩进

应该这样:

if (a<=exp)
  a=~a+1;