求解惑!大佬们帮我看看为什么?
这是求p=(1+r)的n次方,n=10
程序代码:#include<stdio.h>
int main()
{int n;
float r,p;
r=0.09;
n=1;
p=1+r;
while(n+1<=10)
{
p=p*(1+r);
n++;
}
printf("10年后为 %f 倍\n",p);
return 0;
}这个程序运行是可以的,我又改了下,想通过任意输入n来求对应的倍数。调试没错输出却没有结果,帮我看下错在哪里?(我只学了if和while2个语句)
程序代码:#include<stdio.h>
int main()
{int n,m;
float r,p;
r=0.09;
printf("输入年数:");
scanf("%d\n",&n);
m=1;
p=1+r;
while(m+1<=n)
{
p=p*(1+r);
m++;
}
printf("%d年后为 %f 倍\n",n,p);
return 0;
}







