2 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
#include <stdio.h>
double p(int n, double x);
int main(void)
{
int repeat, ri;
int n;
double x, result;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++)
{
scanf("%d%lf", &n, &x);
result = p(n, x);
printf("p(%d, %.2lf)=%.2lf\n", n, x, result);
}
}
double p(int n, double x)
{ double result;
if(n==0) result= 1;
else if(n==1) result=x;
else result=((2*n-1)*p(n-1,x)-(n-1)*p(n-2,x))/n;
return result;
}

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
您這種寫(xiě)法有很大問(wèn)題,首先用戶(hù)的輸入n是不確定的,主程序是不能這么寫(xiě)的,因?yàn)闊o(wú)法保存前面幾次輸入的數(shù),后面的結(jié)果也沒(méi)法確定了,而對(duì)于n應(yīng)該讓計(jì)算機(jī)自動(dòng)處理,不能讓用戶(hù)輸入的。主程序是錯(cuò)誤的,必須要改變。
添加回答
舉報(bào)