Страница 1 из 1

Неверно выводится нецелое числовое значение

Добавлено: 25 ноя 2017, 00:56
Кирилл1212

Код: Выделить всё

//(|x|-|y|): (1+|xy|);

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

int main() {
   setlocale(0, "");
   int abs();// модуль
   int x,y,z,k,l;
   printf("Введите x y\n");
   scanf("%d %d",&x,&y);
   z=abs(x)-abs(y);
   k=1+abs(x*y);
   l=z/k;
   printf("%d,%d,%d\n",z,k,l );
   printf("Значение всегда идёт к 0\n");
   system("pause");
   return 0;
}
И ещё как сделать так чтобы комбилятор выводил всё.беру x=1;y=2; число l при таких получается 0,3333333333 как сделать чтобы он вывел 0,3333333 а то он выводит просто 0.

Re: модуль си

Добавлено: 26 ноя 2017, 00:39
Romeo
У тебя l является целым числом, поэтому при делении просто происходит отбрасывание нецелой части. Меняй тип l на float/double, а также корректируй printf, чтобы вывести число в плавающей точной, и всё у тебя получится.

P.S. Переименовал тему. Следующий раз просто удалю тему, если у неё будет такое же бестолковое название. Читай правила форму и правила оформления тем.