0
私は任意の多項式を評価するCコードを書くように求められましたが、私はこれを作ったが、どこかにバグがあるようだ。任意の多項式:Cコード
この私のコード:
#include <stdio.h>
#include <math.h>
int main (void) {
//initialize the variables
float x=0;
float a1=0;
float a2=0;
float a3=0;
float a0=0;
float fx=0;
printf("enter a0, a1, a2, a3. and your x value in the meintioned order,\nmake a single space between your inputs\n");
scanf("%f, %f, %f, %f, %f", &a0, &a1, &a2, &a3, &x); //reading the values of a1, a2, a3, a0, and x
fx= ((a3 * pow (x, 3)) + (a2 * pow (x, 2)) + (a1 * pow (x, 1)) + (a0 * pow (x, 0)));
printf("f(x) = %lf", fx);
return 0;
}
これは私がコードは最初のユーザ入力の値を出力していることが分かった試行回数の後、私の入力です。
私は本当に何が起こっているのか、私を表示するために私のコードを編集した:
enter a0, a1, a2, a3. and your x value in the mentioned order,
make a single space between your inputs
44 4 4 4 4
0.000000 + 0.000000 + 0.000000 + 44.000000 = f(x) = 44.000000
、それが出力されました!
常に 'sの戻り値をチェックしてください缶詰。あなたは5つの数字を尋ねるので、戻り値は5でなければなりません。もしあなたがチェックしたら、 'scanf'が1を返し、最初の数字だけが読み込まれたことになります。 – user3386109
あなたのコードはあなたが表示する出力を作成しません。最後の行の最初の部分はどこに印刷されていますか? _0.000000 + 0.000000 + 0.000000 + 44.000000 = _より多くの矛盾が隠されていますか? – Gerhardh