思路:
将第一年现值的钱数存储至nowmoney,然后遍历循环将以后每一年的钱数都换算为第一年。最后相加就可以。
ps:求a的b次方函数:pow(a,b).
代码如下:
#include<bits/stdc++.h>
using namespace std;
int years;
double rate;
typedef struct Node{
int money;//收入或支出的钱数
double futuremoney;//未来某一年的钱数推算为当前年的多少
}node;
int main(){
cin>>years>>rate;
node no[51];
cin>>no[0].money;
int nowmoney=no[0].money;//当前年的收入或支出钱数
double sum;
for(int i=1;i<=years;i++){
cin>>no[i].money;
no[i].futuremoney=(double)(no[i].money)/(double)pow(((double)1+rate),i);
sum+=no[i].futuremoney;
}
cout<<sum+double(nowmoney);
}