关于对人年龄进行分类的

int main()
{
int ren,rate1,rate2,rate3,rate4;
int i;
float age[i],count[4]={0,0,0,0};
scanf("%d\n",&ren);
for(i=0;i<ren;i++)
{
scanf("%f",&age[i]);
}

for(i=0;i<ren;i++)
{
    if(age[i]>=0&&age[i]<=18)
    {
        count[0]++; 
    }
    else if(age[i]>=19&&age[i]<=35)
    {
        count[1]++; 
    
    }
    else if(age[i]>=36&&age[i]<=60)
    {
        count[2]++; 
    }
    else
    {
        count[3]++; 
    }
}
printf("%.2f %.2f %.2f %.2f",count[0]/ren,count[1]/ren,count[2]/ren,count[3]/ren);

}
这个为什么输出不了

float age[i],i还没初始化呢,能行么,改成一个较大值的数组吧,float age[1000];

int main()
{
int ren,rate1,rate2,rate3,rate4;
int i;
float age[1000],count[4]={0,0,0,0};
scanf("%d",&ren);
for(i=0;i<ren;i++)
{
scanf("%f",&age[i]);
}

for(i=0;i<ren;i++)
{
    if(age[i]>=0&&age[i]<=18)
    {
        count[0]++; 
    }
    else if(age[i]>=19&&age[i]<=35)
    {
        count[1]++; 
    
    }
    else if(age[i]>=36&&age[i]<=60)
    {
        count[2]++; 
    }
    else
    {
        count[3]++; 
    }
}
printf("%.2f %.2f %.2f %.2f",count[0]/ren,count[1]/ren,count[2]/ren,count[3]/ren);
return 0;
}

age数组长度不能用i设置
要在ren读取了输入的值之后,用ren设置age数组长度

scanf("%d", &ren);
float age[ren], count[4] = {0, 0, 0, 0};

你题目的解答代码如下:

#include <stdio.h>

int main()
{
    int ren, rate1, rate2, rate3, rate4;
    int i;
    scanf("%d", &ren); //去掉\n
    //用ren设置age数组长度
    float age[ren], count[4] = {0, 0, 0, 0};
    for (i = 0; i < ren; i++)
    {
        scanf("%f", &age[i]);
    }

    for (i = 0; i < ren; i++)
    {
        if (age[i] >= 0 && age[i] <= 18)
        {
            count[0]++;
        }
        else if (age[i] >= 19 && age[i] <= 35)
        {
            count[1]++;
        }
        else if (age[i] >= 36 && age[i] <= 60)
        {
            count[2]++;
        }
        else
        {
            count[3]++;
        }
    }
    printf("%.2f %.2f %.2f %.2f", count[0] / ren, count[1] / ren, count[2] / ren, count[3] / ren);
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

scanf("%d\n",&ren);
改为:
scanf("%d",&ren);
float age[i]
改为:
float age[101]

完整代码:

#include <stdio.h>
int main()
{
int ren,rate1,rate2,rate3,rate4;
int i;
float age[101],count[4]={0,0,0,0};
scanf("%d",&ren);
for(i=0;i<ren;i++)
{
scanf("%f",&age[i]);
}

for(i=0;i<ren;i++)
{
    if(age[i]>=0&&age[i]<=18)
    {
        count[0]++; 
    }
    else if(age[i]>=19&&age[i]<=35)
    {
        count[1]++; 
    
    }
    else if(age[i]>=36&&age[i]<=60)
    {
        count[2]++; 
    }
    else
    {
        count[3]++; 
    }
}
printf("%.2f %.2f %.2f %.2f",count[0]/ren,count[1]/ren,count[2]/ren,count[3]/ren);
}