Не работает вычитание в цикле - C (СИ)
Формулировка задачи:
Вот программа должна (пока) отнимать от Х У, но делает только раз, хотя условие стоит "while (zal<y);"
в чем проблема?
#include <stdio.h> #include <conio.h> #include <stdlib.h> void main (void) { int x,y,zal, ost, z_i=0; clrscr (); printf ("x="); scanf("%d", &x); printf ("y="); scanf("%d", &y); if (x==y) { printf ("Ost-0,zal-0"); } while (zal<y); { zal=x-y; z_i++; } printf ("\n%d", zal); getch (); }//main
Решение задачи: «Не работает вычитание в цикле»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <stdlib.h> void main (void) { int x,y,zal, ost, i, z_i=0; clrscr (); printf ("x="); scanf("%d", &x); printf ("y="); scanf("%d", &y); if (x==y) { printf ("Ost-0,zal-0"); } while (x>0) x-=y; ost=x+y; zal=ost; printf ("\n Ost - %d", ost); printf ("\n Zal - ,"); for(i=0; i<8; i++) { zal*=10; z_i=0; while(zal>=y) { zal-=y; z_i++; } printf ("%d", z_i); if(zal==0) break; } getch (); }
Объяснение кода листинга программы
- В начале программы объявляются переменные: x, y, zal, ost, i, z_i=0.
- С помощью функции scanf вводятся значения для переменных x и y.
- С помощью условного оператора if проверяется равенство x и y, и если это так, то выводится сообщение
Ost-0,zal-0
. - Далее начинается цикл while, который выполняется до тех пор, пока x больше нуля. В каждой итерации цикла значение x уменьшается на значение y.
- После выхода из цикла while, значение x присваивается переменной ost, а значение ost присваивается переменной zal.
- Выводится значение ost с помощью функции printf.
- Далее начинается цикл for, который выполняется 8 раз.
- Внутри цикла for значение zal умножается на 10.
- Также внутри цикла for начинается другой цикл while, который выполняется до тех пор, пока значение zal больше или равно y.
- В каждой итерации цикла while значение zal уменьшается на y, а значение z_i увеличивается на 1.
- После выхода из цикла while, значение z_i выводится с помощью функции printf.
- Если значение zal равно нулю, то цикл for прерывается с помощью оператора break.
- В конце программы вызывается функция getch, которая ожидает нажатия клавиши.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д