预期表达C

时间:2019-03-05 20:56:51

标签: c

我目前正在为大学开发一个四舍五入的代码,但是没有在c中使用数学库。

这就是我所做的:

#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>

double arrd(double x, int n);

int main()
{
    double value;
    int n;
    printf("Insert a value: ")
    scanf("%lf", &value);
    printf("Insert n: ");
    scanf("%d", &n)


    printf ("%f", arrd( value, n));
    return 0;
}

double arrd(double x, int n){
   double r = x;
   double s = 1;
   int e = 0;
   while (e != (n+1)){ /*This is to get to the last number before rounding*/
    s= s * 10;
    r = r*10 - int(r); /*This is where is giving me the error*/
    e++;
   };
   r=r*10;
   if (r<5){
    return x-r*(1/s);
   } else {
    return x-r*(1/s)+(10/s);
   }

}

它表示期望表达式,r = r * 10-int(r)。我该怎么办? 我是编程新手,但是如果我可以改进的其余代码有什么问题,请告诉我。

谢谢

1 个答案:

答案 0 :(得分:2)

int(r)

将值强制转换为int的语法无效。方法如下:

(int)r