почему ответ не появляется?

#c #function #user-defined-functions

Вопрос:

Я пишу код на c , где я должен найти серию, и я сам создаю функцию для серии, и я вызываю функцию, я не нахожу ответа вот мой код

 #include <iostream>
#include <cmath>
using namespace std;
double harmonicSeries(int n);
int main() {
    int n;
    cout << "Enter n" << endl;
    cin >> n;
    harmonicSeries(n);
}
double harmonicSeries(int n) {
    for (int i = 1; i <= n; i  ) {
        float s;
        float sum = 0.0;
        s = 1 / n;
        sum  = s;
        return sum;
    }
}
 

Я буду благодарен за любую помощь

Комментарии:

1. Вы забыли распечатать результат своей функции, попробуйте std::cout << harmonicSeries(n);

2. Кроме того, ваша функция всегда возвращается после первой итерации цикла, вы уверены, что это то, что вы хотите?

3. Я немного исправил это в соответствии с вашими комментариями, но теперь я получаю неправильный ответ

4. #include <iostream> #include <cmath> using namespace std; double harmonicSeries(int n); int main() { double n; cout << "Enter n" << endl; cin >> n; cout<<harmonicSeries(n); } double harmonicSeries(int n) { for (int i = 1; i <= n; i ) { double s; double sum = 0.0; s = 1 / n; sum = s; } double sum{}; return sum; }

Ответ №1:

Видите,я внес изменения в ваш код, это отлично работает при поиске чисел и добавлении, чтобы получить их сумму.Вы должны использовать return вне функции, и в основном гармонический ряд имеет форму 1/n, которая может быть любым числом с плавающей точкой или двойным числом, поэтому я использую s как double, и у меня есть float(который по этому).

s=1/i(double=1/float,преобразуется в double)

 #include <iostream>
#include <cmath>
using namespace std;
double harmonicSeries(int n);
int main() {
int n;
cout << "Enter n" << endl;
cin >> n;
cout<<harmonicSeries(n);
 }
double harmonicSeries(int n) {
double sum=0.00;
double s;
for (float i = 1; i <= n; i  ) {
    s = 1 / i;
    sum  = s;
}
return sum;
}
 

Если вы обнаружите что-то не так, обязательно спросите:)

Комментарии:

1. о, я только что осознал свою ошибку, так что действительно, действительно спасибо тебе

2. Не беспокойтесь. Всегда готов помочь:)