求解惑!大佬们帮我看看为什么?
这是求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; }