7-5 成绩统计

编写程序,输入一批学生的成绩,遇负数表示输入结束,要求统计并输出各等级成绩的学生个数。成绩等级分为三级,分别为A(90~100)、P(60~89)、F(0~59)。

输入格式:

输入一批整数,以负数结束。

输出格式:

A等级数量,B等级数量,C等级数量

输入样例:

在这里给出一组输入。例如:

65 78 89 96 43 71 90 -1 

输出样例:

在这里给出相应的输出。例如:

A等级2人
P等级4人
F等级1人

 

这段代码是用C语言编写的,目的是实现输入一批学生的成绩,并统计各等级成绩的学生人数。

代码的主要流程如下:

  1. 首先,我们定义了整型变量 score 和三个用于统计各等级学生人数的变量 count_Acount_Pcount_F

  2. 然后,使用 printf 函数打印提示信息,要求用户输入学生的成绩,以负数作为输入结束的标志。

  3. 接下来,使用 while 循环来读取用户输入的成绩。循环条件 scanf("%d", &score) == 1 && score >= 0 的含义是,只有当成功读取一个整数且该整数大于等于0时,循环才会继续执行。

  4. 在循环体内,我们使用 if 和 else if 条件语句来判断输入的成绩属于哪个等级,并相应地增加对应等级的学生人数计数器。

  5. 循环会继续进行,直到用户输入了一个负数,这时循环条件 score >= 0 不满足,循环终止。

  6. 最后,使用 printf 函数输出统计结果,分别输出 A 等级、P 等级和 F 等级的学生人数。

请注意,该代码假设用户输入的是有效的整数,并且输入不会超过 int 类型的范围。如果用户输入了非整数或超过 int 类型的范围,程序可能会产生错误。如果您希望处理这些异常情况,可以在代码中添加相应的输入验证和错误处理逻辑。

#include <stdio.h>

int main() {
  int score;
  int count_A = 0, count_P = 0, count_F = 0;

  printf("请输入学生的成绩,以负数结束:\n");
  
  while (scanf("%d", &score) == 1 && score >= 0) {
    if (score >= 90 && score <= 100) {
      count_A++;
    } else if (score >= 60 && score <= 89) {
      count_P++;
    } else if (score >= 0 && score <= 59) {
      count_F++;
    }
  }
  
  printf("A等级%d人\n", count_A);
  printf("P等级%d人\n", count_P);
  printf("F等级%d人\n", count_F);
  
  return 0;
}

这段代码实现了输入一批学生的成绩,并统计各等级成绩的学生人数。代码首先打印提示信息,要求用户输入学生的成绩,以负数结束。

然后,通过 while 循环读取用户输入的成绩。循环条件 scanf("%d", &score) == 1 && score >= 0 确保只有在成功读取一个整数且该整数大于等于0时,循环才会执行。

在循环体内,根据输入的成绩范围判断学生的等级,然后增加对应等级的学生人数计数器。

循环结束后,使用 printf 函数输出统计结果,分别输出 A 等级、P 等级和 F 等级的学生人数。

请注意,该代码假设用户输入的是有效的整数,并且输入不会超过 int 类型的范围。如果用户输入了非整数或超过 int 类型的范围,程序可能会产生错误。如果您希望处理这些异常情况,可以在代码中添加相应的输入验证和错误处理逻辑。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值