В чём ошибка? - C (СИ) (154114)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #define precision 1e-7
- while (x <= b){
- s = 0;
- for (k = 0; k <= n; k++)
- {
- rez = 1;
- for (i = 1; i<= k; i++)
- rez *= i;
- s += (cos(k*Pi / 4)/rez)*pow(x,k);
- }
- double s(double * x) {
- int n = 1;
- double sum, tmp;
- sum = *x;
- double u1;
- do {
- u1 = exp(x*cos(Pi / 4);
- tmp = cos(x*sin(Pi / 4))*u1;
- n++;
- sum += tmp;
- } while (fabs(tmp) > precision);
- // printf("n=%i tmp=%10.8f\n", n, tmp);
- return sum;
- }
- int main() {
- double a = 0.1;
- double b = 0.8;
- double h = 0.1;
- do {
- printf("x=%3.1f Y=%10.4f S=%10.4f\n", a, y(a), s(&a));
- a += h;
- } while (a<=b);
- return 0;
- }
Решение задачи: «В чём ошибка?»
textual
Листинг программы
- int factorial (int n)
- {
- int f=1,i;
- for(i=2;i<=n;++i)
- {
- f=f*i;
- }
- return f;
- }
Объяснение кода листинга программы
- В функции
factorial
объявлены две переменные:f
иi
. - Переменная
f
инициализируется значением 1. - Переменная
i
не инициализируется и будет использоваться как счётчик в цикле. - Цикл
for
начинается сi=2
и продолжается до тех пор, покаi
меньше или равноn
. - Внутри цикла
f
умножается наi
. - После завершения цикла
f
возвращается из функции. - Если вызвать функцию
factorial
с аргументом, она вернёт факториал этого числа. - В данном коде нет проверок на входные данные, поэтому предполагается, что аргумент всегда будет неотрицательным целым числом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д