0
所以我在這裏是一個非常初級的C,我正在構建一個程序,它將找到多項式的根。我負責打印分數和整數的根。但我真的不知道該怎麼做。我嘗試了浮點數,但基本上它是小數點,而int不打印除整數之外的任何內容。我希望你能幫助我。保存分數在C
我收錄了迄今爲止編寫的代碼。
int last;
int n=0;
int lastfactor_arr[20];
for(last=1; last<=input[token_counter-1]; last++)
{
if(input[token_counter-1]%last == 0)
{
lastfactor_arr[n] = last;
printf("factors are: %d\n", lastfactor_arr[n]);
n++;
lastfactor_arr[n] = last * -1;
printf("last factors are: %d\n", lastfactor_arr[n]);
n++;
}
}
printf("Total number of factors are: %d\n", n);
int roots_arr[20];
int answer;
int root;
int k, j, f=0;
int s_root;
int nume, deno;
for(k=0; k<=m-1; k++) //LOOP FOR FIRST FACTOR
{
for(j=0; j<=n-1; j++) //LOOP FOR LAST FACTOR
{
answer = firstfactor_arr[k]/lastfactor_arr[j];
if(answer==0)
{
nume = firstfactor_arr[k];
deno = lastfactor_arr[j];
s_root = (input[token_counter-1]*(nume/deno*nume/deno)) + (input[token_counter-2]*nume/deno) + input[0];
if(s_root == 0)
{
roots_arr[f] = nume/deno;
f++;
}
}
else
{
root = (input[token_counter-1]*(answer*answer)) + (input[token_counter-2]*answer) + input[0];
if(root == 0)
{
roots_arr[f] = answer;
f++;
}
}
}
}
int p;
printf("The rational roots of the input polynomial are: ");
for(p=0; p<=f; p++)
{
printf("%.d,", roots_arr[p]);
}
這些函數可能會有幫助,但它們不是必需的(有一個'%'和'/'操作符也可以)。但是你沒有對如何使用它們做很多解釋。 –
這些可能無法完全按預期的方式使用負數。 – Davislor
增加了一些示例代碼。 – Davislor