注册 登录
编程论坛 C语言论坛

不建立动态数组,像这样会报错吗?

cjw小菜鸡 发布于 2019-12-14 21:09, 1743 次点击
程序代码:
/*输入班级人数和成绩, 统计各分数段人数. 要求:
1) 根据用户输入的人数, 利用malloc/calloc函数创建动态数组, 用于保存成绩.
2) 分数分为5段: [0,60), [60, 70), [70, 80), [80, 90), [90, 100]
*/


#include<stdio.h>
#include<time.h>
#include<stdlib.h>


int main()
{
    int N, sec1, sec2, sec3, sec4, sec5;
    sec1 = sec2 = sec3 = sec4 = sec5 = 0;
    printf("请输入学生人数:\n");
    scanf("%d", &N);
    int k, grades[N];
    srand(time(NULL));
    printf("请输入学生成绩:\n");
    for(k = 0; k < N; k++)
    {
        grades[k] = rand() % 100 + 1;
        printf("%-4d", grades[k]);
    }
   
    for(k = 0; k < N; k++)
    {
        if(grades[k]>=0&&grades[k]<60) sec1++;
        else if(grades[k]>=60&&grades[k]<70) sec2++;
        else if(grades[k]>=70&&grades[k]<80) sec3++;
        else if(grades[k]>=80&&grades[k]<90) sec4++;
        else if(grades[k]>=90&&grades[k]<100) sec5++;
    }
    printf("\n");
    printf("各分数段人数统计如下:\n");
    printf("[0,60):%d人\n", sec1);
    printf("[60,70):%d人\n", sec2);
    printf("[70,80):%d人\n", sec3);
    printf("[80,90):%d人\n", sec4);
    printf("[90,100]:%d人\n", sec5);
   
}
只有本站会员才能查看附件,请 登录
这是效果图
2 回复
#2
rjsp2019-12-15 00:27
不建立动态数组,像这样会报错吗? --- 你自己试试不就知道了吗?
#3
cjw小菜鸡2019-12-15 15:13
我用的是DEVc++,不知道会不会在vs里报错
1