Заполнить и вывести массив - C (СИ)

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

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

нужно объявись массив со 100 ячейками,заполнить его пока не будет введено -1 после чего вывести на экран только введёные числа кроме -1. помогите написать вывод
#include <stdio.h>
 void main()
    {
        int arr[100]={},i;
        printf("enter nubers please:");
        for(i=0;i<100;i++)
        {
            scanf("%d",&arr[i]);
        if(arr[i]==-1)
            break;
        }
        printf("the numbers is: ");
..................

Решение задачи: «Заполнить и вывести массив»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    char prev;
    char cur;
 
    while((cur = getc(stdin)) != '1' || prev != '-')
    {
     prev=cur;
     if(prev != 10 && prev != 32 && prev != '-') printf("%d\n",prev-48);
    }
 
    return 0;
}

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

В этом коде используется стандартная библиотека ввода-вывода и библиотека для работы со строками.

  1. Сначала определяются две переменные типа char - prev и cur.
  2. Затем начинается цикл while, который продолжается до тех пор, пока не будет введен символ '1' и предыдущий символ не будет равен '-'.
  3. Внутри цикла происходит следующее:
    • переменная prev присваивается значение переменной cur;
    • проверяется, является ли prev числом от 0 до 9 или пробелом, если да, то выводится значение переменной prev, увеличенное на 48 (то есть, если было введено число, то выводится его числовое значение).
  4. После выхода из цикла, программа завершается. Похоже, что этот код предназначен для ввода чисел, которые затем выводятся в виде символов.

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


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

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

14   голосов , оценка 3.786 из 5
Похожие ответы