Заполнить и вывести массив - 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;
}
Объяснение кода листинга программы
В этом коде используется стандартная библиотека ввода-вывода и библиотека для работы со строками.
- Сначала определяются две переменные типа char - prev и cur.
- Затем начинается цикл while, который продолжается до тех пор, пока не будет введен символ '1' и предыдущий символ не будет равен '-'.
- Внутри цикла происходит следующее:
- переменная prev присваивается значение переменной cur;
- проверяется, является ли prev числом от 0 до 9 или пробелом, если да, то выводится значение переменной prev, увеличенное на 48 (то есть, если было введено число, то выводится его числовое значение).
- После выхода из цикла, программа завершается. Похоже, что этот код предназначен для ввода чисел, которые затем выводятся в виде символов.