1. Условие
Дано натуральное число n. Получить последовательность b1, b2, … bn:
bi = 1 + 1/2 + ... + 1/i,
где i=1, 2, …, n.
2. Решение
Задаем размер массива n. Выделяем блок оперативной памяти под n чисел. В цикле производим инициализацию массива по формуле b[i] = b[i-1] + 1.0/(float)i. Элементы массива выводим на экран.
3. Алгоритм решения

4. Текст программы
1 : #include <stdio.h>
2 : #include <alloc.h>
3 : #include <conio.h>
4 : void main()
5 : {
6 : int i, n;
7 : float *b;
8 : clrscr( );
9 : printf( "\n\t\t Введите количество элементов n = " );
10: scanf( "%d", &n );
11: b=( float * )malloc( n*sizeof(float) );
12: printf( "\n \t \t \t Для b[i] = 1 + 1/2+...+1/i:" );
13: printf( "\n \t \t \tсформированная последовательность \n" );
14: b[0]=1;
15: for(i=1; i<n; i++)
16: {
17: b[i]= b[i-1] + 1.0/(float)i;
18: printf( "\n \t \t \t \t b[%d]=%lf ",i, b[i] );
19: }
20: for(i=0; i<n; i++)
21: {
22: printf( "\n \t \t \t \t b[%d]=%lf ",i, b[i] );
23: }
24: printf( "\n \n \n \t \t \t Для выхода нажмите любую клавишу." );
25: getch();
26: free(b);
27: }
5. Работа программы
Введите количество элементов n=3 Для b[i]=l+l/2+...+l/i: сформированная последовательность: b[0]=1.000000 b[1]=1.500000 b[2]=1.833333 Для выхода нажмите любую клавишу.
6. Проверка
Произведем вычисления:
b[0]=1;
b[1]=1+1/2, то есть b[1]=1,5;
b[2]=1+1/2+1/3, то есть b[2]=1,833333 .
Таким образом, программа работает верно.