Числа Фибоначчи в С++

Особенность механизма выхода из оператора switch (имеется в виду выход из оператора с помощью инструкции Ьгеак) позволяет объединять не­сколько сазе-условий. В процессе выполнения программы пользователю предлагается ввести це­лое число в диапазоне от 0 до 10. Число считывается с клавиатуры и выпол­няется проверка на предмет того, является ли оно нулем и принадлежит ли последовательности чисел Фибоначчи. Напомним, что последовательность Фибоначчи получается так: первые два числа последовательности равны 1, а каждое последующее равно сумме двух предыдущих. Начальные числа в последовательности Фибоначчи, таким образом, равны 1, 1, 2, 3, 5 и 8 (это те числа, что попадают в диапазон от 0 до 10). После ввода числа с клавиатуры оно записывается в целочисленную пере­менную n Значение переменной проверяется в операторе switch(). Первый сазе-блок оператора соответствует ситуации, когда пользователем введено нулевое значение- Если значение переменной n равно 0, на экран выводится сообщение "The number is zero". Благодаря инструкции Ьгеак после оператора вывода указанного сообщения, работа switch()-оператора на этом завершится. Если же было введено ненулевое значение, первый сазе-блок не выполняется. Вместо этого будет продолжена проверка значения перемен­ной n на предмет совпадения с одним из значений 1,2,3,5 или 8. Обращаем внимание читателя на то обстоятельство, что саsе-блоки для значений 1, 2, 3 и 5 являются пустыми, т.е. после инструкции сазе с указанием соответствующего значения сразу следует следующая сазе-инструкция. Поскольку в switch()-операторе команды выполняются до первой инструкции Ьгеак (или до окончания всего оператора), такой синтаксис приводит к тому, что для значений 1,2,3,5,8 переменной n выполняется одна и та же последователь­ность команд - это те команды, что указаны в саsе-блоке для значения переменной n равного 8: появится сообщение "This is Fibonacci number" и работаswitch()-оператора будет завершена (из-за инструкции Ьгеак). Например, если пользователь ввел число 1, должны выполняться все команды после инструкции сазе 1: в switch(). Команды выполняются до первой инструк­ции Ьгеак (или, если не встретится ни одна инструкция Ьгеак, до конца всего оператора). Поскольку первая инструкция Ьгеак встречается в блоке сазе 8 :, будут выполнены все команды, находящиеся между инструкцией сазе 1: и этой инструкцией Ьгеак. Наконец, если пользователь ввел ненулевое число, не совпадающее с числа­ ми 1, 2, 3, 5 и 8, выполняется блок команд, размещенных после инструкции default. В данном случае там всего одна команда, которой на экран выво­ дится сообщение "This is integer number".
#include 
using namespace std;
int main(){
int n;
cout<<"Enter number from 0 to 10: ";
cin>>n;
switch(n){
case 0:
 cout<<"The number is zero!\n";
 break;
case 1:
case 2:
case 3:
case 5:
case 8:
 cout<<"This is Fibonacci number!\n";
 break;
default:
 cout<<"This is integer number!\n";
}
return 0;
}
Онлайн всего: 3
Гостей: 3
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте