Та же задача, но еще надо печатать номер каждого зверя
/* Та же задача, но еще надо печатать номер каждого зверя. Ограничимся пятью строками. */
#include
/* магическая строка */
int TOMCATS = 3; /* три кота */ int CATS = 2; /* две кошки */ int ANIMALS_PER_LINE = 6; /* шесть зверей в каждой строке */ int LINES = 5; /* число выводимых строк */ int ANIMALS; /* общее число зверей */
int nth_in_line = 0; /* номер зверя в текущей строке */
void checkIfWeHaveToBreakLine(){ nth_in_line++;
if(nth_in_line == ANIMALS_PER_LINE){ putchar('\n'); nth_in_line = 0; } else printf("\t\t"); /* @ */
/* Одинокий оператор может обойтись без {...} вокруг него */ }
void main(){ int nanimal; int i;
ANIMALS = ANIMALS_PER_LINE * LINES; nanimal = 0;
while(nanimal < ANIMALS){
for(i=0; i < TOMCATS; i++){ /* Формат %d выводит значение переменной типа int в виде текстовой строки. Сама переменная должна быть в списке после формата (список - это перечисление переменных через запятую). Переменных ИЛИ выражений (формул).
Давайте выводить по ДВЕ табуляции -- это место отмечено в функции checkIfWeHaveToBreakLine() как @.
Еще раз внимание - один символ мы выводим как putchar('a'); Несколько символов - как printf("abcdef");
Одиночные кавычки - для одной буквы. Двойные кавычки - для нескольких. */
printf("кот%d", nanimal); nanimal++;
checkIfWeHaveToBreakLine(); } for(i=0; i < CATS; i++){ printf("кошка%d", nanimal); nanimal++;
checkIfWeHaveToBreakLine(); } } }