请问大家dev c++为什么存不进去数组的值?

大一学生学习c语言,有道题是要用for循环存数组每个变量的值,可是怎么都显示0,为什么啊?

 

 

我这里测试显示正常。

#include <stdio.h>

int main(void){
    
    int i,n;
    float a[100];
    double s=0;
    printf("请输入购书者单次购买书籍本数:");
    scanf("%d",&n);
    printf("输入每本书单价:"); 
    for(i=0;i<n;i++){
        scanf("%f",&a[i]);
    } 
    
    for(i=0;i<n;i++){
        if(a[i]<=50){
            a[i]*=0.8;
        }else if(a[i]<=70){
            a[i]*=0.7;
        }else if(a[i]<=100){
            a[i]*=0.6;
        }else if(a[i]>100){
            a[i]*=0.5;
        }
        
        s=s+a[i];
        printf("s=%f,a[%d]=%f\n",s,i,a[i]);
    }
    
    if(s>=1000){
        s*=0.9;
    }
    printf("%f",s);
    printf("\n");
    
    return 0;
} 

img

你定义的s是double类型呀,打印的时候用%lf