原题目是:a 为整数,x,y 为浮点数,编程计算表达式 x+a%3*(int)(x+y)%2/4 的值
#include
int main ()
{
int a;
float x,y,s;
while(scanf("%d %f %f",&a,&x,&y)!=EOF)// 多组输入
{
int x,y;
s=(a%3)*((x+y)%2)/4 ;
s=s*x;
printf("%.6f",&s);
}
return 0;
}
输入 8 3 4.5
应该输出 3.000000
我的输出是0.000000
请问如何将float型在运算时转变为Int型?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- qtchen_1988 2019-11-23 15:27关注
感觉你代码里的计算表达式没写对:
你有三处要改的1. float x,y,s; int x,y; 这两个xy重新定义了不同类型的; 2.如果你的表达式是:(a%3)*((x+y)%2)/4 ; 改成 (a%3)*((int)(x+y)%2)/4.0 ; 3.printf("%.6f",&s); 多了&符号,改成printf("%.6f",s);
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报