アプリ版:「スタンプのみでお礼する」機能のリリースについて

何をすればいいかよくわからなくて躓きました
わかる方どうかお願いします


以下に示すプログラムで、x1 = x0 - f (x0) / f '(x0)を用いて、方程式の左辺関数 f (x) (= x 2 - a ) およびその導関数 f '(x) を独立させろ。
入力変数 a はグローバル変数としてよい。
導関数 f '(x)はプログラム内ではdfと表記することとする。
また、適切なコメントも追加すること。

/*
newton.c: ニュートン法
*/
#include <stdio.h> // printf, fprintf, fgets, sscanf
#include <math.h> // fabs

double newton(double x, double (*f)(double), double (*df)(double), double eps)
{
  int n;
  double a = 0, x, x0, err, eps = 1.0e-10;
  printf("# n, x, err\n");
  printf("%4d, % .15e\n", n, x);
  do {
    n++;
    x0 = x;
    x = (x0 + a/x0) / 2;
    err = fabs(x-x0);
    printf("%4d, % .8e, % .8e\n", n, x, err);
  } while (err > eps);
    return x;
}

int main(void)
{

   double a = 0, x, x0, err, eps = 1.0e-10;
   char s[128];

  fprintf(stderr, " a = "); fgets(s, 128, stdin); sscanf(s, "%lf", &a);
  while (a <= 0.0) {
   fprintf(stderr, "'a' には正の数を入れてください。\n");
  fprintf(stderr, " a = "); fgets(s, 128, stdin); sscanf(s, "%lf", &a);
  }

  x = (a + 1.0) / 2.0;
  printf("\n# sqrt(%e) = % .15e\n", a, x);
   return 0;
}

A 回答 (2件)

    • good
    • 0

提示されたソースのうち、質問者さんが書かれた部分と


出題者から与えられた部分とを明記してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!