若有定义:int a=7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2 的值

2021年8月22日 | 分类: 【编程】

【题目】

若有定义: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)。