#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