解题思路:
用一个递归函数就可以解出最后赚的钱。
注意事项:
答案是有保留两位小数的,如果用浮点型要注意保留两位小数而且不能有四舍五入情况。
参考代码:
#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 人评分
C语言程序设计教程(第三版)课后习题8.8 (C++代码)浏览:542 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:1375 |
剔除相关数 (C语言代码)浏览:1833 |
假币问题 (C语言代码)浏览:2333 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:534 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:665 |
蛇行矩阵 (C语言代码)浏览:742 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:518 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:780 |
WU-整数平均值 (C++代码)浏览:1237 |