Output в Си - C (СИ)

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

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

Всем привет, как мне сделать здесь чтоб после последнего значения которое будет выводиться не было пробела ничего. у меня говорит что в самом конце есть пробел поэтому ошибка.Програма для вывода положительных чисел.
 #include<stdio.h>
int main()
{
    int a;
    int i,k;
    int arr[10000];
    scanf("%d",&a);
    for(k = 0; k < a; k++)
    {
        scanf("%d",&arr[k]);
    }

    for(i = 0; i < a; i++)
    {
        
    if(arr[i] <= 0)
    continue;
    if(i == (a - 1)){
        printf("%d",arr[i]);
    }else 
    printf("%d ",arr[i]);
      
    }
 
    return 0;
}

Решение задачи: «Output в Си»

textual
Листинг программы
   int flg=0;
   for (i=0; i<a; i++)
     if (arr[i] > 0)
     {
         if (flg) 
            printf(" %d",arr[i]);
         else
         {
            printf("%d",arr[i]); flg=-1;
         }
     }

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

  1. Объявляется переменная типа int с именем flg и инициализируется значением 0.
  2. Задается начальное значение переменной i равное 0.
  3. Задается условие цикла for, которое проверяет, что значение переменной i меньше значения переменной a.
  4. Внутри цикла проверяется условие, что значение элемента массива с индексом i больше 0.
  5. Если значение переменной flg равно 0, то выводится значение элемента массива с индексом i без изменений.
  6. Если значение переменной flg не равно 0, то выводится значение элемента массива с индексом i со знаком минус.
  7. Значение переменной flg изменяется на -1.

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


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

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

11   голосов , оценка 3.818 из 5