简单的C语言 p=(1+r)^n,n为年,r=9%为增长率,不用pow函数,怎么会运行不了?

#include<stdio.h>
int main ()
{
int n,p;
for(n=1,p=1;n<=10;n++)
p=p*(1+0.09);
printf("after ten years p=%d\n",p);
return 0;
}
程序打错,更新为

#include<stdio.h>
int main ()
{
int n;
double p;
for(n=1,p=1.0;n<=10;n++)
p=p*(1+0.09);
printf("after ten years p=%d\n",p);
return 0;
}

#include#include//pow函数要加math文件intdigit(intn,intk){intp;if(n/pow(10,k)<1)return-1;else{p=(n%(int)pow(10,k))/pow(10,k-1);//%左右都必须是int型,所以加强制类型转换就可以了returnp;}}voidmain(){intn,k,p;scanf("%d%d",&n,&k);p=digit(n,k);if(p==-1)printf("error");elseprintf("%d",p);}
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-05
#include<stdio.h>
#include<math.h>
int main()
{double p,r,u;
p=1;
r=1.09;
u=1;
while(u<=10)
{p*=r;
u+=1;
}
printf("%lf\n",p);
return 0;
}
第2个回答  2016-07-19
doublemi(doublex,inte)//x表示底数,e表示指数,调用方法的时候需要输入参数x和e的值。为精确,x采用double型;{dobleanswer=0;for(inti=1;i<=e;i++){answer=(x*x);}println("%d\n",answer);returnanswer;//返回值为需要的幂。}//若e=mi(2,3);e即为8.
第3个回答  2016-07-19
把p改成double型追问

改了 运行答案也不对

追答

printf("after ten years p=%lf\n",p);

相似回答