В чём ошибка? - 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
с аргументом, она вернёт факториал этого числа. - В данном коде нет проверок на входные данные, поэтому предполагается, что аргумент всегда будет неотрицательным целым числом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д