我下面这段代码是要输出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 关注
- 748 浏览
添加回答
举报
0/150
提交
取消