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; } }
Объяснение кода листинга программы
- Объявляется переменная типа int с именем
flg
и инициализируется значением 0. - Задается начальное значение переменной
i
равное 0. - Задается условие цикла for, которое проверяет, что значение переменной
i
меньше значения переменнойa
. - Внутри цикла проверяется условие, что значение элемента массива с индексом
i
больше 0. - Если значение переменной
flg
равно 0, то выводится значение элемента массива с индексомi
без изменений. - Если значение переменной
flg
не равно 0, то выводится значение элемента массива с индексомi
со знаком минус. - Значение переменной
flg
изменяется на -1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д