jxg 发表于 2020-6-22 10:23:59

这怎么弄

1.输入某门课程的10名学生成绩,统计输出该课程的平均成绩、最高成绩和最低成绩,并按成绩分类统计出各个等级的学生数(90以上:优秀,80分以上:良好,60分以上:合格,60分以下:不合格)。

jxg 发表于 2020-6-22 10:27:37

只把前一步弄了出来
#include <stdio.h>
int main()
        {
                int i;
                float a,min,max,avg;        //max表示最高分,min表示最低分,avg表示平均分
                printf("请输入10位学生的分数\n");
                printf("********************************\n");
                for(i=0;i<=9;i++)
                        {
                                printf("请输入一位学生的分数:");
                                scanf("%f",&a);
                        }
                max=min=avg=a;
                for(i=1;i<=9;i++)
                        {
                                if(min>a)
                                        {min=a;}
                                if(max<a)
                                        {max=a;}
                                        avg=avg+a;
                        }
                avg=avg/10;
                printf("max=%f\n",max);
                printf("min=%f\n",min);
                printf("max=%f\n",avg);
                printf("********************************\n");
        }

sunrise085 发表于 2020-6-22 11:26:13

手机码字,好累啊。。
#include <stdio.h>
int main()
{
    int i,a=0,b=0,c=0,d=0;//四个变量表示四个等级的人数
    float a,min,max,avg=0;//max表示最高分,min表示最低分,avg表示平均分
   
    for(i=0;i<=9;i++)
    {
      printf("请输入第%d位学生的分数:",i+1);
      scanf("%f",&a);
    }
    max=min=a;
    for(i=0;i<=9;i++)
    {
      if(min>a)
            min=a;
      if(max<a)
            max=a;
      avg=avg+a;
      if(a>90)
            a++;
      else if(a>80)
            b++;
      else if (a>60)
            c++;
      else
            d++;
    }
    avg=avg/10;
    printf("max=%f\n",max);
    printf("min=%f\n",min);
    printf("max=%f\n",avg);
    printf("优秀:%d,良好:%d,合格:%d,不合格:%d",a,b,c,d);
    return 0;
}

wp231957 发表于 2020-6-22 11:33:52

sunrise085 发表于 2020-6-22 11:26
手机码字,好累啊。。

所以呢,即便存在very very nb 的手机编辑器,也是远离

jxg 发表于 2020-6-22 11:46:19

sunrise085 发表于 2020-6-22 11:26
手机码字,好累啊。。

麻烦了

jxg 发表于 2020-6-22 12:02:29

sunrise085 发表于 2020-6-22 11:26
手机码字,好累啊。。

我还不是很懂c   我弄了挺多遍还是运算不出来

sunrise085 发表于 2020-6-22 14:29:49

jxg 发表于 2020-6-22 12:02
我还不是很懂c   我弄了挺多遍还是运算不出来

之前写错了,定义了两个a,现在改过来了。
#include <stdio.h>
int main()
{
    int i,a=0,b=0,c=0,d=0;
    float sc,min,max,avg=0;//max表示最高分,min表示最低分,avg表示平均分
   
    for(i=0;i<=9;i++)
    {
      printf("请输入第%d位学生的分数:",i+1);
      scanf("%f",&sc);
    }
    max=min=sc;
    for(i=0;i<=9;i++)
    {
      if(min>sc)
            min=sc;
      if(max<sc)
            max=sc;
      avg=avg+sc;
      if(sc>90)
            a++;
      else if(sc>80)
            b++;
      else if (sc>60)
            c++;
      else
            d++;
    }
    avg=avg/10;
    printf("max=%f\n",max);
    printf("min=%f\n",min);
    printf("max=%f\n",avg);
    printf("优秀:%d个,良好:%d个,合格:%d个,不合格:%d个\n",a,b,c,d);
    return 0;
}

405794672 发表于 2020-6-22 20:51:28

int n1=0,n2=0,n3=0,n4=0;
for(i=0;i<10;i++)
{    if(a>=90)n1++;
   else if(a>=80)n2++;
   else if(a>=60)n3++;
   else   n4++;
}

printf   优秀数量为n1,良好数量为n2,合格数量为n3,不合格数量为n4
页: [1]
查看完整版本: 这怎么弄