正确的公式,错误的程序..C编程循环



我需要知道这里缺少什么?这看起来很琐碎,但同时也有点愚蠢,也许是idk。注释中给出了公式。我需要把程序改对。目前,它给出了reeeaaallllyyyy的高输出。

#include <stdio.h>
#include <conio.h>
void main ()
{
// M(n)=p(k^n+k^n-1+.....+k^2+k)
// k=(1+r/100)^d
float p, k, r, d, n, m, t, temp, sum;
int i, j;
clrscr();
sum = 0;
d=20;
temp = 1;
printf ("nEnter Principle per month ");
scanf ("%f", &p);
printf ("nEnter number of months");
scanf ("%f", &n);
printf ("nEnter rate per day");
scanf ("%f", &r);
k = 1;
t = (1 + (r / 100));
for (j = 0; j < d; j++)
{
k = k * t;
}
for (i = 1; i <= n; i++)
{
temp = temp * k;
sum = sum + temp;
}
m = p * sum;
printf ("nValue after %f months is %f", n, m);
getch();
}

有一件事(并非双关语(,您的for是错误的:

for (i = 1; i++; i <= n)

它应该是初始化->条件->增量,而不是你写的。

此外,您的公式从k^nk^(2+k)求和,而您的代码经过校正后,从k^nk^1求和。

最新更新