Остаток float и функция pow(a,b) - C (СИ)
Формулировка задачи:
Здравствуйте! только только начинаю разбираться в программировании. одна из первых моих учебных программ - программа по вычислению объемов тел шара и цилиндра. вот она:
Результат вычисления получился вот таким :
Соответственно вопросы: 1) откуда взялись остатки вычисления поверхности 0012 и 0001 при вычислении параметров цилиндра и как их убрать, 2) как ограничить количество выводимых нулей на экран
3) почему не работает функция pow() и выдает результат вычисления объема шара 0.0000
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
#include<math.h>
int main()
{
setlocale(0,"");
int h, r;
float v, s;
const float pi=3.14;
printf("Введите высоту цилиндра ");
scanf("%d",&h);
printf("Введите радиус цилиндра ");
scanf("%d",&r);
v=pi*r*r*h;
s=2*pi*r*h+2*pi*r*r;
printf("Площадь поверхности цилиндра равна: %f\n", s);/*откуда появляются остатки 000001 и 00012*/
printf("Объём цилиндра равен: %f\n", v);
printf("Введите радиус шара");
scanf("%d",&r);
v=3/4*pi*pow(r,3);
s=4*pi*r*r;
printf("Объём шара равен %f\n",v);
printf("Площадь поверхности шара равна %f",s);
return 0;
}Решение задачи: «Остаток float и функция pow(a,b)»
textual
Листинг программы
printf("%.2f", 3.1415926535)
Объяснение кода листинга программы
Код выводит значение числа 3.1415926535, округленное до двух знаков после запятой, и представляет собой одну строку. Вот так выглядит этот код в виде списка:
- 3.1415926535 - число, значение которого будет выведено на экран
- %.2f - спецификатор формата, указывающий, что необходимо вывести число с точностью до двух знаков после запятой
- 3.1415926535 - число, которое будет выведено на экран