Выделение дробной и целой части - C (СИ)
Формулировка задачи:
Задание стоит так: определение равна ли сумма цифр из целой части действительного числа сумме такого же количества цифр из дробной части.
Нужно сделать чтобы дробная часть отделялась до такого же кол-ва знаков как и целая. У меня есть программа, но она не верно работает
#include <stdio.h> #include <stdlib.h> #include<conio.h> #include <math.h> int main() { int x,n,summa1=0,b,c,summa2=0,t,e,u; double g,p,r,y; printf("Vvedite chislo :"); scanf("%lf", &g ); p=floor(g); r=g-p; t=(int)floor(g); y=r*100000000; e=(int)floor(p); u=(int)floor(y); {for(n=1;e>9;n++) {summa1+=e%10;e/=10;} for(c=1;u>9;c++) {summa2+=u%10;u/=10;} summa1+=e; printf("summa=%d\n",summa1); summa2+=u; printf("summa=%d\n",summa2); if(summa1=summa1) printf("Rivni"); else printf("Ne rivni"); return 0; }}
Решение задачи: «Выделение дробной и целой части»
textual
Листинг программы
#include <stdio.h> #include <math.h> int main(void) { double n; while ( printf("N = ") && scanf("%lf", &n) == 1 && n > 0.0 ) { double i, f; f = modf(n, &i); printf("I = %d; F = %d\n", (int)i, (int)(f * pow(10.0, floor(log10(i)) + 1.0))); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и math.h
- Объявление переменной типа double с именем n, которая будет использоваться для ввода числа с плавающей точкой.
- Запуск цикла while, который будет выполняться до тех пор, пока пользователь не введет ноль или отрицательное число. Внутри цикла находятся команды для ввода числа и его обработки.
- Объявление двух переменных типа double с именами i и f. Переменная i будет использоваться для хранения целой части числа, а переменная f — для дробной.
- Вычисление дробной и целой части числа с помощью функции modf. Результат сохраняется в переменных i и f соответственно.
- Вывод на экран целой части числа (i) и дробной части (f), умноженной на 10 в степени, равной количеству цифр в целой части числа.
- Проверка условия завершения цикла while и выход из программы при его выполнении.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д