В настоящее время я разрабатываю код для университета, который округляет число, но без использования математической библиотеки в 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). Что я должен делать?
Я новичок в программировании, но если что-то не так с остальным кодом, который я могу улучшить, дайте мне знать.
Спасибо