新手写的程序, 请高手指点

nstopb 2018-03-13 10:42:03
新手做练习, 写了一段计算每月换款后 做理财的代码。在14行计算每月盈余的语句里提示有一个错误,说次幂运算非法,左操作数有double类型,请高手指点,应如何修改~~ 非常感谢~!
#include<stdio.h>
#include<stdlib.h>
#define x 0.042 //利率
#define month 360 //时间30年
#define salary 10000 //每月收入
#define capital 800000 //贷款本金
int main()
{
double a=x/12; //月利率
int i;
double b=0,NE; //b每月收益,NE 收入扣除月供的盈余
for (i = 1; i <=month; i++)
{
NE = salary-(capital*a*(1 + a) ^ i / ((1 + a) ^ i - 1)); //等额本息还款公式

b = (NE+b)*(1 + a);
printf("%lf\n",b);
}

printf("%lf", b);
system("pause");
}
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongwenjun 2018-03-13
  • 打赏
  • 举报
回复
NE = salary - (capital * a * (1 + a) ^ i / ((1 + a) ^ i - 1)); //等额本息还款公式 error: invalid operands of types 'double' and 'int' to binary 'operator^'|
wfanyue 2018-03-13
  • 打赏
  • 举报
回复
如果进行int 型,还可以采取循环的方法
自信男孩 2018-03-13
  • 打赏
  • 举报
回复
C语言的^不是幂运算,而是异或运算符。建议从网上查一下^符号的用法; 对于幂运算,建议使用数学函数库中的pow函数,double pow(double x, double y);第一个参数x是底数,y是幂数,即数学里的x^y;返回值就是x^y值。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧