Как мне напечатать x количество целых чисел в строке в C? - PullRequest
0 голосов
/ 21 июня 2020

Как напечатать integers от 1 до 20, используя while l oop и counter переменную x.

Мне нужно напечатать только пять целых чисел в строке. [ Подсказка : используйте расчет x % 5. Когда значение этого параметра равно 0, напечатайте символ новой строки (\n), в противном случае напечатайте символ табуляции (\t)]

Мой главный вопрос: Как напечатать 5 целых чисел на строку?

Это код, который я пробовал

#include<stdio.h>

int main ( void )
{
    int x = 0;
    while ( x <= 20 ) 
    {
        printf("%d", x);
        ++x;
    }
}

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Выведите целые числа от 1 до 20, используя while l oop и переменную счетчика x.

, но ваш код печатает целые числа от 0 до 20 замените int x = 0; на int x = 1;

Используйте расчет x % 5. Когда значение этого параметра равно 0, напечатайте символ новой строки, в противном случае напечатайте символ табуляции.

в C, что напрямую означает

putchar((x%5) ? '\t' : '\n');

или выполнение в printf

printf("%d%c", x, (x%5) ? '\t' : '\n');

так что, наконец, ваш код может быть:

#include<stdio.h>

int main (void)
{
  int x = 1;
  
  while ( x <= 20 ) {
    printf("%d%c", x, (x%5) ? '\t' : '\n');
    ++x;
  }
}

Компиляция и выполнение:

pi@raspberrypi:/tmp $ gcc -Wall c.c
pi@raspberrypi:/tmp $ ./a.out
1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
16  17  18  19  20
pi@raspberrypi:/tmp $ 
0 голосов
/ 21 июня 2020

% - операция по модулю. a% b целое число делит a на b и возвращает остаток. Таким образом, 3% 5 -> 3 и 7% 5 -> 2.

У вас есть переменная x, которая должна go от 0 до 19. Если вы разделите x на 5, напоминание будет числом в диапазон от 0 до 4.

Для x = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ..., x% 5 = 0, 1 , 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, ...

Как видите, остаток повторяет числа от 0 до 4. Это 5 чисел.

Таким образом, хитрость заключается в том, чтобы напечатать новую строку только тогда, когда x% 5 равен 4.

int x = 0;
while (x < 20) {
    printf("%d ", x+1);
    if (x % 5 == 4)
        printf("\n");
    x++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...