注册 登录
编程论坛 C++教室

哪位大神指点一下,那里错了?

haioo1980 发布于 2022-06-20 11:26, 1173 次点击
#include<iostream>
using namespace std;
int main(){
 float a,b,sum;
 cin>>a;
 cin>>b;
 sum=b;
 for(int i=1;i<=a;i++)
 {
  sum=sum+sum*0.0005;
 }
 cout<<sum;
 return 0;
 
}
3 回复
#2
rjsp2022-06-20 13:07
你连题目都不肯给,那别人怎么知道你代码哪处违背了题目的要求?!
#3
haioo19802022-06-20 14:11
4275元每天的存款利率为0.0005,利滚利2920天,计算最后得了多少钱?
#4
rjsp2022-06-20 16:18
以下是引用haioo1980在2022-6-20 14:11:28的发言:

4275元每天的存款利率为0.0005,利滚利2920天,计算最后得了多少钱?

你这个题目,没人能做得出,有太多疑问
a. 既然题目中有“4275元”“2920天”,那为什么在你代码中没有出现“4275”“2920”这两个数字?
b. “每天的存款利率为0.0005”,那如果计算出的利息不足最小单位(1分)怎么处理(进位、去尾、四舍五入、四舍六入五成双)?还是并不每天结算,而是最后一天再去结算?
c. 在最后一天结算时,如果计算出的利息不足最小单位(1分)怎么处理(进位、去尾、四舍五入、四舍六入五成双)?
d. 正常的题目,难道不应该给出「输入输出样例」吗?是老师不肯给你,还是你不肯给大家?

现在,假设是 最后一天计算,中间并不取整,以「四舍六入五成双」精确到分,那么代码是
程序代码:
#include <iostream>
#include <cmath>
using namespace std;

int main( void )
{
    printf( "%.2f\n", 4275*pow(1+0.0005,2920) );
}

输出 18401.26
1