【题目】
若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2 的值是:( )
A. 0.000000
B. 2.750000
C. 2.500000
D. 3.500000
【解析】
这道题在之前的noip初赛中出到过,但那时候的答案是 2.500000 ,这道题变动了一下数值。
\(x+a\%3*(int)(x+y)\%2\)
\(=2.5+(7\%3)*int(2.5+4.7)\%2\)
\(=2.5+1*int(7.2)\%2\)
\(=2.5+1*7\%2\)
\(=2.5+1*1\)
\(=2.5+1\)
\(=3.5\)
数值为3.5,由于类型是float,所以有效位数为7位,因此答案是3.500000。
答案选(D)。