Цикл While: определить, сколько раз в последовательности меняется знак - C (СИ)
Формулировка задачи:
Вводится последовательность ненулевых целых чисел, оканчивающаяся нулем.
Определить, сколько раз в этой последовательности меняется знак. Например, в
последовательности 10, -4, 12, 56, -4 знак меняется 3 раза.
Решение задачи: «Цикл While: определить, сколько раз в последовательности меняется знак»
textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Russian");
int x,flag,cnt=0;
puts("Вводите последовательность чисел. Для окончания ввода, введите "0"");
scanf("%d",&x);
if(x>0)
flag=1;
else
flag=0;
while(x!=0)
{
if(x<0&&flag==1)
{
flag=0;
cnt++;
}
if(x>0&&flag==0)
{
flag=1;
cnt++;
}
scanf("%d",&x);
}
printf("\nКоличество смены знаков - %d",cnt);
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные: x, flag, cnt.
- Выводится сообщение с просьбой ввести последовательность чисел и условием окончания ввода (ввод нуля).
- В цикле while происходит проверка каждого введенного числа и подсчет количества смены знаков.
- Выводится количество смены знаков.
- Программа завершается.