#include<stdio.h> int main() { int a,b,c; scanf("%d",&a); b=a%2; if(b==0) { printf("%d is even even\n",a); c=a/2%2; if(c==0) { printf("Half of %d is also even\n",a); } else { printf("Half of %d is not even\n",a); } } else { printf("%d is not even\n",a); } return 0; }
出現問題:函數
第一行輸出數字是個隨機數,並非待判斷的整數spa
錯誤緣由:按格式輸出函數printf()格式書寫錯誤,將(「%d」,a)寫成了(「」,&a),多加了取地址符&。code
printf("%d is even even\n",a); 輸出函數printf(),待輸出值通常前面不須要加取地址符&。blog
而函數scanf(),取值通常須要加取地址符&。io
注意:通常若浮點數和0比較,近似法比較更爲準確。class
例:a<=1e-7隨機數
若要求精度不高,EPS取值1e-1,便可。im