#c #output #stdout
Вопрос:
Я новичок в C (и в основном в программировании в целом).
Я пытаюсь написать базовую программу для вывода расширения Тейлора x = 1,5 от n = 1 до n = 100. Мой код таков:
#include <iostream>
int main() {
double x = 1.5;
double expx = 1;
double summand = 1;
for (int n=1; n <100; n) {
summand *= x/n;
expx = summand;
}
return expx
std::cout << "final expx from n = 1 to 100 is " << expx << std::endl;
}
Когда я запускаю его, он запускается без ошибок на терминале, но не отображает никаких выходных данных вообще. Я не совсем уверен, что делаю неправильно, так как, когда я запускаю другой написанный мной код, подобный этому, у меня нет проблем.
Комментарии:
1. Вы возвращаетесь из main перед выводом в std::cout (обратите внимание, что ваш пример кода даже не компилируется)
Ответ №1:
Что вам следовало сделать, так это создать функцию expx() и вывести ее результат.
#include <iostream>
double expx()
{
double x = 1.5;
double expx = 1.0;
double summand = 1.0;
for (int n=1; n <100; n)
{
summand *= x/n;
expx = summand;
}
return expx;
}
int main()
{
double value = expx();
std::cout << "final expx from n = 1 to 100 is " << value << std::endl;
}
Ответ №2:
Все, что вы пишете после оператора return внутри функции, не будет выполняться. Вам нужно поменять местами последние две строки, т. е.:
std::cout << "final expx from n = 1 to 100 is " << expx << std::endl;
return expx