C语言pow函数怎么用
我要写一个利息公式a为本金,n为存款年数,p为年利率l=a*(1+p)^n-a这个公式用C应该怎么写?...
我要写一个利息公式a为本金,n为存款年数,p为年利率
l=a*(1+p)^n-a
这个公式用C应该怎么写? 展开
l=a*(1+p)^n-a
这个公式用C应该怎么写? 展开
展开全部
你首先要给我说你用的哪个编译器啊
我在vs2005下用你的相同代码得出的结果是三个数都是100
只是pow(float,float)才是正确的用法,你可以偿试把你的所有类型改一下试试,从你的测试结果来说,很可能是类型转换的时候的问题,int
型的i=2,被编译器转成float的时候有误差,只有1.999……,然后10的i次方不到100,只有99点几,然后转给a的时候再转换成int就只有99了,而你直接输入2的时候就没有问题。这只是一种猜测,你得把你的编译环境也作为条件给出来才能有准确的判断。
我在vs2005下用你的相同代码得出的结果是三个数都是100
只是pow(float,float)才是正确的用法,你可以偿试把你的所有类型改一下试试,从你的测试结果来说,很可能是类型转换的时候的问题,int
型的i=2,被编译器转成float的时候有误差,只有1.999……,然后10的i次方不到100,只有99点几,然后转给a的时候再转换成int就只有99了,而你直接输入2的时候就没有问题。这只是一种猜测,你得把你的编译环境也作为条件给出来才能有准确的判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<math.h>
#include<stdio.h>
int main()
{
float a,p,b,I;
int n;
b=pow(1+p,n);
I=a*b-a;
printf("%f\n",I);
return 0;
}
pow函数是这样用的,a=pow(b,c);
表示a等于b的c次方
#include<stdio.h>
int main()
{
float a,p,b,I;
int n;
b=pow(1+p,n);
I=a*b-a;
printf("%f\n",I);
return 0;
}
pow函数是这样用的,a=pow(b,c);
表示a等于b的c次方
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main( )
{
double l,a,p,sum=1;
int i,n;
printf("输入本金,年利率,年数:");
scanf("%lf%lf%d",&a,&p,&n);
for(i=0;i<n;i++)
sum*=(1+p);
l=a*sum-a;
printf("利息为:%lf\n",l);
}
void main( )
{
double l,a,p,sum=1;
int i,n;
printf("输入本金,年利率,年数:");
scanf("%lf%lf%d",&a,&p,&n);
for(i=0;i<n;i++)
sum*=(1+p);
l=a*sum-a;
printf("利息为:%lf\n",l);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询