编译没有问题,为什么没有结果啊!!!求求各位大神指点一波

#include
#include
int main()
{
#define a 1000
int n;
float p,r0=0.0072,r1=0.0414,r2=0.0468,r3=0.054,r5=0.0585;
float r6=0.0018;
printf("*************************\n");
printf("\n");
printf("请输入所储存的年限n:");
printf("\n");
printf("n=1是活期存款 ");
printf("\n");
printf("n=2是先存2年,再存3年 ");
printf("\n");
printf("n=3是先存3年,再存2年");
printf("\n");
printf("n=4存一年,连续存5年 ");
printf("\n");
printf("n=5是一次存5年 ");
printf("\n");
printf("请输入所储存的年限:");
printf("\n");
printf("*************************\n");
scanf("%d",n);
switch(n){
case 1:
p=pow(a*(1+r6),n);
for(int n=1;n<=4;n++){
p=pow(a*(1+r6),n);
}
break;

    case 2:
        p=a*(1+n*r2);
        p=p*(1+3*r3); break;

    case 3:
        p=a*(1+n*r3);
        p=p*(1+2*r2); break;

    case 4: 
        p=pow(a*(1+r1),n); break;

    case 5:
        p=a*(1+n*r5);   break;

}
printf("%f",p);
return 0;

}

缺少输入语句,只有输出printf语句,显示也是printf里面的内容