花落


私信TA

用户名:aaa888ii

访问量:24046

签 名:

我胡汉三又回来了!

等  级
排  名 351
经  验 5128
参赛次数 3
文章发表 41
年  龄 18
在职情况 学生
学  校 东莞理工学院
专  业 软件工程

  自我简介:

喵喵喵?

解题思路:




用一个递归函数就可以解出最后赚的钱。
注意事项:


答案是有保留两位小数的,如果用浮点型要注意保留两位小数而且不能有四舍五入情况。


参考代码:

#include<stdio.h>

int t = 0;  //全局变量作为递归出口
float sum=0;
void jisuan(int k,int n,double p)//一个简单的递归函数
{
	if(t<n){
	sum+=k*p+(sum+t*k)*p;
	t++;
	jisuan(k,n,p);
	
	}
}

int main()
{
	int k,n,s;
	float p;
	scanf("%d%d%f",&k,&n,&p);
	jisuan(k,n,p);
	s = (int )(sum*100);     //将sum小数点两位后的数字删除掉
	printf("%.2f",s/100.0);  //在除以100.0将int类型转成float,这样就防止小数点两位后进行的四舍五入。注意要除以100.0
	return 0;
}
	


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

全局变量作为递归出口有什么用
2019-07-25 15:35:14
谢谢你
2018-12-16 12:00:26
  • «
  • 1
  • »