在输入的数字上加8,然后除以3.现在,该数字的模数取5,然后将结果值乘以5

时间:2018-05-04 06:09:26

标签: c

我尝试使用赋值运算符并且它有效..但是这没有运行...

int n;
printf("Enter a 4 digit number\n");    
scanf("%d", &n);  
float i;  
i = (((n + 8)/3)%5)*5;  
printf("%f\n", i);  

1 个答案:

答案 0 :(得分:0)

公式中的所有值都是整数。所以使用整数运算。

这意味着如果你将11除以3,你就得到3,因为整数没有小数。这将贯穿你的整个公式。

您可以将n转换为浮动,如下所示:((float)n+8)...

或者你可以只使用浮点文字n+8.0f来计算caluclation的一部分。这样就可以使用浮点算术。

但是你得到了模数的问题,因为它没有为浮点定义。

因此,如果你想进行正确的除法,你需要在float中得到结果,但是因为modulo需要整数,所以这是不可能的。因此,如果没有进一步的澄清,你要么得到一个错误的"结果,因为你使用整数算术或你有模数的问题。