我下面這段代碼是要輸出c=px(n)的,函數px()里面return c,在c的表達式里面有字符x,但是在輸出的時候會自動編譯成120??請問怎么在表達式中顯示字符 x?double px(int n) {double c;if (n == 0)c = 1;if (n == 1)c ='x';if(n>1)c = ((2 * n - 1)*'x'*px(n - 1) - (n - 1)*px(n - 2)) / n;return c;}int main(){int n;while (1) {cout << "please enter n:" << endl;cin >> n;cout << "c=:" << px(n) << endl;}return 0;}
2 回答

繁星淼淼
TA貢獻1775條經驗 獲得超11個贊
”c = ((2 * n - 1)*'x'*px(n - 1) - (n - 1)*px(n - 2)) / n; “ 這里面的第一個x是被轉換成ascII碼參與運算的,而且是對應十進制120。如果是想輸出表達式的話,
cout<<"c =" <<(”表達式“)<<"x"<<(”表達式“)<<<endl; 這樣寫應該可以(中文字符記得替換成你要寫的表達式)。

Smart貓小萌
TA貢獻1911條經驗 獲得超7個贊
cout << "c=:" << px(n) << endl;這個語句換成cout << "c=:" << (char)px(n) << endl。
完整代碼如下:
#include
using namespace std;
double px(int n) {
double c;
if (n == 0)
c = 1;
if (n == 1)
c ='x';
if(n>1)
c = ((2 * n - 1)*'x'*px(n - 1) - (n - 1)*px(n - 2)) / n;
return c;
}
int main()
{
int n;
while (1) {
cout << "please enter n:" << endl;
cin >> n;
cout << "c=:" << (char)px(n) << endl;
}
return 0;
}
- 2 回答
- 0 關注
- 780 瀏覽
添加回答
舉報
0/150
提交
取消