#c #loops #for-loop
Вопрос:
for (int x = 3; x lt;= 100; x%3 == 0; x ) { printf("%dn", x); }
Я использую книгу «Как программировать C» Дейтеля, и есть это упражнение для этого цикла for, и они хотят, чтобы я исправил его и получил результат, кратный 3.
Я решил эту проблему с помощью оператора if. Но мне любопытно, есть ли другой способ исправить это в цикле.
что я сделал, так это :
for (int x = 3; x lt;= 100; x ) { if(x%3 == 0){ printf("%dn", x); } }
Комментарии:
1.
for (int x = 3; x lt;= 100; x = 3 )
2. Петля не нужна. Даже при непостоянной верхней границе это может быть вычислено в одном операторе. Подумайте об истории ученика, которому было поручено сложить все числа от 1 до 100.
3. Вы не можете выучить C по книге на языке Си.
4. Вы намерены добавить цифры или распечатать их?
Ответ №1:
Вы можете добавлять 3 вместо 1 после каждой итерации, чтобы гарантированно было несколько 3
Что — то вроде этого:
for (int x = 3; x lt;= 100; x = 3) { printf("%dn", x); }