Пол Дейтл 4.16 рис 4; for; как сделать проще - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно нарисовать с помощью for квадрат: 9 пробелов и звездочку до 10 звездочек - https://ideone.com/msYvvd Можно ли сделать короче?
Листинг программы
  1. int i, x;
  2. for (x = 0; x < 10; ++x)
  3. {
  4. for (i = (10-1); i > x; --i)
  5. {
  6. printf("#");
  7. }
  8. for (i = 0; i <= x; ++i)
  9. {
  10. printf("*");
  11. }
  12. printf("\n");
  13. }

Решение задачи: «Пол Дейтл 4.16 рис 4; for; как сделать проще»

textual
Листинг программы
  1. int main()
  2. {
  3.   const char *STARS = "**********";
  4.   for (unsigned i = 0; i < 10; ++i)
  5.     printf("%10s\n", STARS + 9 - i);
  6. }

Объяснение кода листинга программы

В этом коде:

  1. Объявлена константная строка STARS, которая содержит 10 символов звездочек.
  2. Затем следует цикл for, который выполняется 10 раз, с переменной i в качестве счетчика.
  3. Внутри цикла, каждый раз, выводится строка, используя формат printf, с использованием STARS + 9 - i для получения подстроки STARS с 9 символов, которые не являются новыми строками, и до i символов, которые являются новыми строками.
  4. Каждая строка выводится с отступами, используя символ форматирования %10s\n.
  5. Значение i увеличивается на 1 после каждой итерации цикла.
  6. Цикл завершается, когда значение i становится равным 10. Следует отметить, что этот код выведет строку из 9 символов звездочек, а не 10, так как последний символ будет заменен символом новой строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы