成绩转换

题目描述
输入一个百分制的成绩M,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
输入
第一行是一个整数N,表示测试数据的组数(N<10)
每组测试数据占一行,由一个整数M组成(0<=M<=100)。
输出
对于每组输入数据,输出一行。
样例输入
2
97
80
样例输出
A
B

代码:
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int a;
scanf("%d",&a);
if(a>=90)
printf("A\n");
else if(a>=80)
printf("B\n");
else if(a>=70)
printf("C\n");
else if(a >= 60)
printf("D\n");
else
printf("E\n");
}
return 0;
}

### PTA成绩转换方法 PTA成绩转换是一种将百分制成绩转化为五级制(A, B, C, D, E)的方式。以下是具体的转换规则: - 当分数 **≥ 90**,等级为 A[^1]。 - 当分数满足 **80 ≤ 分数 < 90**,等级为 B[^3]。 - 当分数满足 **70 ≤ 分数 < 80**,等级为 C。 - 当分数满足 **60 ≤ 分数 < 70**,等级为 D。 - 当分数 **< 60**,等级为 E。 这种规则可以通过多种编程方式实现。例如,在C语言中可以采用`if...else`语句或者`switch`语句完成逻辑判断。 #### 使用 `if...else` 的实现 以下是一个基于条件分支的简单实现: ```c #include <stdio.h> int main() { int score; scanf("%d", &score); if (score >= 90) { printf("A\n"); } else if (score >= 80) { printf("B\n"); } else if (score >= 70) { printf("C\n"); } else if (score >= 60) { printf("D\n"); } else { printf("E\n"); } return 0; } ``` #### 使用 `switch` 的实现 另一种常见的实现方式是通过整除运算提取十位数值,并利用`switch`语句进行匹配: ```c #include <stdio.h> int main() { int score; char grade; scanf("%d", &score); switch (score / 10) { case 10: case 9: grade = 'A'; break; case 8: grade = 'B'; break; case 7: grade = 'C'; break; case 6: grade = 'D'; break; default: grade = 'E'; } printf("%c\n", grade); return 0; } ``` 上述两种方法均能有效完成成绩转换的任务,具体选择取决于个人偏好以及实际需求。 --- ### 平均成绩、最高成绩和最低成绩统计 除了简单的成绩转换外,还可以进一步扩展功能,比如计算一组学生中的平均成绩、最高成绩和最低成绩。这通常涉及数组操作或动态内存分配技术[^2]。下面提供了一个基本示例代码用于演示这一过程: ```c #include <stdio.h> #define MAX_STUDENTS 100 int main() { int scores[MAX_STUDENTS], count, i; double sum = 0.0; int maxScore = -1, minScore = 101; // 获取学生数量 printf("Enter the number of students: "); scanf("%d", &count); // 输入学生成绩 for (i = 0; i < count; ++i) { printf("Enter score for student %d: ", i + 1); scanf("%d", &scores[i]); // 计算总分 sum += scores[i]; // 更新最大值与最小值 if (scores[i] > maxScore) { maxScore = scores[i]; } if (scores[i] < minScore) { minScore = scores[i]; } } // 输出结果 printf("Average Score: %.2f\n", sum / count); printf("Maximum Score: %d\n", maxScore); printf("Minimum Score: %d\n", minScore); return 0; } ``` 此代码片段展示了如何处理多个学生的成绩数据,并输出其统计数据。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值