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.  
  13. printf("任意のn次多項式\n\tf(x)=a0+a1x+a2x^2+…anx^n\nのx0における式の値f(x0)を計算します。");
  14.  
  15. /* n,x0の標準入力 */
  16. printf("nを入力してください。(0<n)\n");
  17. scanf("%d", &n);
  18.  
  19. printf("x0を入力してください。\n");
  20. scanf("%lf", &x0);
  21.  
  22. /* aiの標準入力 */
  23. double a[n]; //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. ans[1] = a[0] + a[1] * x0;
  46. for(j=2; j<=n; j++){
  47. for(k=2; k<=j; k++){
  48. power = x0 * x0;
  49. }
  50. ans[j] = ans[j-1] + a[j] * power;
  51. }
  52. printf("f(x0)の式の値は%lfです\n", ans[n]);
  53. return 0;
  54. }
Success #stdin #stdout 0s 5288KB
stdin
4
3
1
2
3
4
5
stdout
任意のn次多項式
	f(x)=a0+a1x+a2x^2+…anx^n
のx0における式の値f(x0)を計算します。nを入力してください。(0<n)
x0を入力してください。
a0を入力してください。
a1を入力してください。
a2を入力してください。
a3を入力してください。
a4を入力してください。
n=4、x0=3.000000として計算します。
a0=1.000000として計算します。
a1=2.000000として計算します。
a2=3.000000として計算します。
a3=4.000000として計算します。
a4=5.000000として計算します。
f(x0)の式の値は115.000000です