162 Глава 2
2.8. // Возведение x в степень у
#include <iostream.h>
main() {
int x, у, i, power;
i = 1;
power = 1;
cin>>x;
cin » у;
while (i <= у) {
power *= x;
++i; }
cout « power « endl; return 0; }
2.9. а) Ошибка: нет закрывающей фигурной скобки тела while. Исправление: добавить закрывающую фигурную скобку после опе ратора ++c;.
b) Ошибка: использована операция взять из потока вместо помес тить в поток.
Исправление: заменить « на ».
c) Ошибка: точка с запятой после else ведет к логической ошибке. Второй оператор вывода будет выполняться в любом случае. Исправление: удалить точку с запятой после else.
Значение переменной z не изменяется в структуре while. Следователь но, если условие продолжения цикла (z >= 0) истинно, появляется бесконечный цикл. Чтобы избежать бесконечного цикла, z должна уменьшаться так, чтобы в конечном счете оказаться меньше 0.
а) Ошибочно. Метка default необязательна. Если нет необходимости производить какие-то действия по умолчанию, то метка default не нужна.
Ошибочно. Оператор break используется для выхода из структуры switch. Если метка default последняя среди меток, то оператор break не требуется.
Ошибочно. При использовании операции && оба выражения от ношения должны быть истинными, чтобы было истинным все вы ражение в целом.
Правильно.
2.12.a) sum = 0;
for (count = 1; count <= 99; count += 2) sum += count;
b) cout « setiosflags(ios::fixed | ios::showpoint | ios::left)
« setprecision(l) « setw(15) « 333.546372 « setprecision(2) « setw(15) « 333.546372 « setprecision(3) « setw(15) « 333.546372 « endl;
Управляющие структуры
163
В результате на выходе будет:
333.5 333.55 333.546
c) cout « setiosflags(ios::fixed / ios::showpoint)
« setprecision(2) « setw(10) « pow(2.5, 3) « endl;
На выходе будет:
15. 63
d) x=l;
while (x <= 20) { cout « x; if (x % 5 == 0)
cout « endl; else
cout « ' \t' ; x++;
e) for (x = 1; x <= 20; cout « x; if (x % 5 == 0)
cout « endl; else
cout « ' \t' ;
x++) {
ИЛИ
for (x = 1; x <= 20; x++)
if (x % 5 == 0)
cout « x « endl; else
cout « x « ' \t' ;
2.13. а) Ошибка: точка с запятой после заголовка while приводит к бесконечному циклу.
Исправление: заменить точку с запятой скобкой { или удалить ; и }.
b) Ошибка: использование числа с плавающей запятой для управ ления структурой повторения for.
Исправление: Использовать целое и осуществить соответствующие вычисления, чтобы получить желаемые значения
for (у = 1; у != 10; у++)
cout « (float) у / 10 « endl;
c) Ошибка: отсутствие оператора break после операторов для первой метки case. Отметим, что это не обязательно является ошибкой, если программист хочет, чтобы операторы после case 2: выполнялись каждый раз, когда выполняются операторы после case 1:.
d) Ошибка: в условии продолжения повторения структуры while использована неправильная операция отношения. Исправление: использовать <= вместо < или изменить 10 на 11.
Упражнения
Упражнения 2.14—2.38 соответствуют разделам 2.1—2.12. Упражнения 2.39—2.68 соответствуют разделам 2.13—2.21.
- 116 Глава 2
- 2.13. Основы повторения, управляемого счетчиком
- 2.14. Структура повторения for (цикл)
- 120 Глава 2
- 122 Глава 2
- 2.15. Пример использования структуры for
- 124 Глава 2
- 126 Глава 2
- 2.16. Структура множественного выбора switch
- Глава 2
- 130 Глава 2
- 132 Глава 2
- 2.17. Структура повторения do/while
- 134 Глава 2
- 2.18. Операторы break и continue
- Глава 2
- 2.19. Логические операции
- 138 Глава 2
- Глава 2
- 2.21. Заключение по структурному программированию
- IfcrpyKTypa (единственный выбор)
- Глава 2
- Глава 2
- 148 Глава 2
- Глава 2
- Глава 2
- Глава 2
- 156 Глава 2
- 158 Глава 2
- 160 Глава 2
- 2.1. А) следование, выбор и повторение, b) if/else. С) управляемым счет чиком или определенным заранее, d) Метку, сигнал, флаг или лож ный сигнал.
- 162 Глава 2
- 164 Глава 2
- 166 Глава 2
- 168 Глава 2
- 170 Глава 2
- 172 Глава 2
- 174 Глава 2
- 176 Глава 2
- 178 Глава 3
- Глава 3
- 3.3. Математические библиотечные функции
- 3.4. Функции
- Глава 3
- 3.5 Определения функций
- 184 Глава 3
- 186 ГлаваЗ
- 3.6. Прототипы функций
- 188 Глава 3
- 3.7. Заголовочные файлы
- 3.8. Генерация случайных чисел
- Глава 3
- 192 Глава 3
- 194 Глава 3
- 3.9. Пример: азартная игра
- Глава 3
- 198 Глава 3
- 3.10. Классы памяти
- 200 Глава 3
- 3.11. Правила, определяющие область действия
- 202 Глава 3
- 204 Глава 3
- 3.12 Рекурсия
- Глава 3
- 6) Значения, возвращаемые после каждого рекурсивного вызова
- 3.13. Пример использования рекурсии: последовательность чисел Фибоначчи
- Глава 3
- 3.14. Рекурсии или итерации
- 212 Глава 3
- Глава 3
- Глава 4
- Глава 5
- Глава 6
- 3.15. Функции с пустыми списками параметров
- 214 Глава 3
- 3.16. Встраиваемые функции