Исправить ошибки в коде - C (СИ) (78011)
Формулировка задачи:
всем привет...проверьте пожалуйста программу...мне выдает ошибку насчет директивы
#include <mpfr.h>...исправьте кто может...буду очень благодарен...
#include <stdio.h>
#include <mpfr.h>
#define n 50
int main()
{
char word[n + 1] = {0};
char i = 0;
for(i; i < n && ( (word[ i ] = getchar()) != '\n'); i += 2)
word[ i + 1 ] = word[ i ];
puts(word);
return 0;
}Решение задачи: «Исправить ошибки в коде»
textual
Листинг программы
#include <stdio.h>
//#include <mpfr.h> - думаю, что тебе это не нужно, так как вряд ли это используешь
#define n 50
int main() {
char word[ n + 1 ] = { 0 };
int i = 0;
for ( ; i < n && ( ( word[ i ] = getchar() ) != '\n' ); i += 2 )
word[ i + 1 ] = word[ i ];
puts( word );
return 0;
}
Объяснение кода листинга программы
- Включаем заголовочный файл
stdio.h, который содержит функции для ввода-вывода данных. - Указываем объем памяти для массива
wordравнымn+1(51), чтобы иметь возможность хранить все символы строки, включая завершающий нулевой символ. - Инициализируем
word[0]значением0, чтобы обеспечить наличие нулевого символа в конце строки. - Устанавливаем счетчик
iравным0. - Запускаем цикл
for, который будет выполняться до тех пор, пока не будет достигнуто условиеi < n && ( ( word[ i ] = getchar() ) != '\n' ). Это условие проверяет, что значениеiменьшеnи что последний символ, который был только что прочитан, не является символом новой строки '\n'. - Внутри цикла присваиваем значение символа, который был только что прочитан функцией
getchar(), элементуword[ i ]. - Увеличиваем значение счетчика
iна2после каждой итерации цикла, чтобы обеспечить корректное заполнение массиваword. - Копируем значение элемента
word[ i ]в элементword[ i + 1 ]. - После завершения цикла выводим содержимое массива
wordс помощью функцииputs(). - Возвращаем 0, чтобы указать, что программа успешно завершилась.