Porque o valor 1.01 permanece? Mesmo ele dizendo que é 1%
double valorInvestido = 1000.0;
int i = 1;
while(i <= 12)
{
valorInvestido = valorInvestido * 1.01;
i += 1;
}
MessageBox.Show("Valor investido é: " + valorInvestido);