解题思路:
用一个递归函数就可以解出最后赚的钱。
注意事项:
答案是有保留两位小数的,如果用浮点型要注意保留两位小数而且不能有四舍五入情况。
参考代码:
#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++代码)浏览:1044 |
WU-图形输出 (C++代码)浏览:801 |
母牛的故事 (C语言代码)浏览:549 |
Minesweeper (C语言描述,蓝桥杯)浏览:1122 |
DNA (C语言代码)浏览:746 |
IP判断 (C语言代码)浏览:533 |
淘淘的名单 (C语言代码)浏览:1222 |
数列问题 (C语言代码)浏览:1019 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:555 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:606 |