为了账号安全,请及时绑定邮箱和手机立即绑定

C++编程问题请大神赐教谢谢!

C++编程问题请大神赐教谢谢!

C++
阿波罗的战车 2018-07-21 19:26:58
我下面这段代码是要输出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; 这样写应该可以(中文字符记得替换成你要写的表达式)。

查看完整回答
反对 回复 2018-07-24
?
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;
}


查看完整回答
反对 回复 2018-07-24
  • 2 回答
  • 0 关注
  • 711 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信