
/* 田中 C言語 演習4 */

#include <stdio.h>

/* main関数の定義 */
int main(void)
{
	int n;		//n次多項式のn
	double x0;	//x0
	int i, j, k;
	double a[n];	//ai

	printf("任意のn次多項式\n\tf(x)=a0+a1x+a2x^2+…anx^n\nのx0における式の値f(x0)を計算します。");

/* n,x0の標準入力 */
	printf("nを入力してください。(0<n)\n");
	scanf("%d", &n);

	printf("x0を入力してください。\n");
	scanf("%lf", &x0);
	
/* aiの標準入力 */
	for(i=0; i<=n; i++){
		printf("a%dを入力してください。\n", i);
		scanf("%lf", &a[i]);
	}

/* エラー処理 */
	if( n <= 0){
		printf("正しく数値を入力してください\n");
		return 1;
	}

/* 入力した値の確認 */
	printf("n=%d、x0=%lfとして計算します。\n", n, x0);
	for(i=0; i<=n; i++)
		printf("a%d=%lfとして計算します。\n", i, a[i]);

	double ans[n];	//多項式の式の値
	double power;	//x^nの値

/* 計算処理 */
	ans[0] = a[0];
	for(j=1; j<=n; j++){
	power = 1;
		for(k=1; k<=j; k++){
		power = power * x0;
		}
	ans[j] = ans[j-1] + a[j] * power;
	printf("f(x0)の式の値は%lfです\n", ans[j]);
	}
	printf("f(x0)の式の値は%lfです\n", ans[n]);
	return 0;
}