C语言数组基本问题C语言


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
  int main(){
            int x,a,c,v;
        srand(time(0));
        float s[50]  ;
            for(int i =0;i<50;i++){
                s[i] = rand()%101;
               /* if(s[i]>=90&&s[i]<=100){
                    x++;
                }else if(s[i]>=70&&s[i]<=89){
                    a++;
                }else if(s[i]>=60&&s[i]<=69){
                    c++ ;
                }else{
                    v++;
                }*/
            printf("成绩%f\n",s);
            }
            /*printf("优秀率为%.2f%%\n",x/50.0*100);
              printf("良好率为%.2f%%\n",a/50.0*100);
                printf("及格率为%.2f%%\n",c/50.0*100);
                  printf("不及格率为%.2f%%\n",v/50.0*100);*/
    return 0;
}

为什么随机值不赋值给数组呢是哪里错了吗?

第20行
printf(成绩为%d,s[i])大意,就是要取数组对应位置的值
有帮助望采纳

试试这样:

 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
  int main(){
            int x,a,c,v;
        srand(time(0));
        float s[50]  ;
        int i=0;
            for(i =0;i<50;i++){
                s[i] = rand()%101;
               /* if(s[i]>=90&&s[i]<=100){
                    x++;
                }else if(s[i]>=70&&s[i]<=89){
                    a++;
                }else if(s[i]>=60&&s[i]<=69){
                    c++ ;
                }else{
                    v++;
                }*/
            printf("成绩%f\n",s[i]);
            }
            /*printf("优秀率为%.2f%%\n",x/50.0*100);
              printf("良好率为%.2f%%\n",a/50.0*100);
                printf("及格率为%.2f%%\n",c/50.0*100);
                  printf("不及格率为%.2f%%\n",v/50.0*100);*/
    return 0;
}