fork download
  1.  
  2. /* 田中 C言語 演習4 */
  3.  
  4. #include <stdio.h>
  5.  
  6. /* main関数の定義 */
  7. int main(void)
  8. {
  9. int n; //n次多項式のn
  10. double x0; //x0
  11. int i, j, k;
  12. double a[n]; //ai
  13.  
  14. printf("任意のn次多項式\n\tf(x)=a0+a1x+a2x^2+…anx^n\nのx0における式の値f(x0)を計算します。");
  15.  
  16. /* n,x0の標準入力 */
  17. printf("nを入力してください。(0<n)\n");
  18. scanf("%d", &n);
  19.  
  20. printf("x0を入力してください。\n");
  21. scanf("%lf", &x0);
  22.  
  23. /* aiの標準入力 */
  24. for(i=0; i<=n; i++){
  25. printf("a%dを入力してください。\n", i);
  26. scanf("%lf", &a[i]);
  27. }
  28.  
  29. /* エラー処理 */
  30. if( n <= 0){
  31. printf("正しく数値を入力してください\n");
  32. return 1;
  33. }
  34.  
  35. /* 入力した値の確認 */
  36. printf("n=%d、x0=%lfとして計算します。\n", n, x0);
  37. for(i=0; i<=n; i++)
  38. printf("a%d=%lfとして計算します。\n", i, a[i]);
  39.  
  40. double ans[n]; //多項式の式の値
  41. double power; //x^nの値
  42.  
  43. /* 計算処理 */
  44. ans[0] = a[0];
  45. for(j=1; j<=n; j++){
  46. power = 1;
  47. for(k=1; k<=j; k++){
  48. power = power * x0;
  49. }
  50. ans[j] = ans[j-1] + a[j] * power;
  51. printf("f(x0)の式の値は%lfです\n", ans[j]);
  52. }
  53. printf("f(x0)の式の値は%lfです\n", ans[n]);
  54. return 0;
  55. }
Success #stdin #stdout 0s 5312KB
stdin
2
2
1
1
1
stdout
任意のn次多項式
	f(x)=a0+a1x+a2x^2+…anx^n
のx0における式の値f(x0)を計算します。nを入力してください。(0<n)
x0を入力してください。
a0を入力してください。
a1を入力してください。
a2を入力してください。
n=2、x0=2.000000として計算します。
a0=1.000000として計算します。
a1=1.000000として計算します。
a2=1.000000として計算します。
f(x0)の式の値は3.000000です
f(x0)の式の値は7.000000です
f(x0)の式の値は7.000000です