用C语言完成:假设百分制课程成绩和4分制绩点对应计算方法如下: 90-100 4.0 ; 85-89 3.7 ; 82-84 3.3 ; 78-81 3.0 ; 75-77 2.7 ; 72-74 2.3 ; 68-71 2.0 ; 64-67 1.5 ; 60-63 1.0 ; 60分以下 0 输入一个百分制成绩,输出对应点4分制绩点成绩,如果在百分制范围之外,则输出-1. 输入格式: 1个小于等于100的正整数 输出格式: 小于4的实数,小数点后1位小数
时间: 2024-03-23 09:42:56 浏览: 203
好的,以下是用 C 语言实现该问题的代码:
```c
#include <stdio.h>
int main() {
int score;
float point;
scanf("%d", &score);
if (score >= 90 && score <= 100) {
point = 4.0;
} else if (score >= 85 && score <= 89) {
point = 3.7;
} else if (score >= 82 && score <= 84) {
point = 3.3;
} else if (score >= 78 && score <= 81) {
point = 3.0;
} else if (score >= 75 && score <= 77) {
point = 2.7;
} else if (score >= 72 && score <= 74) {
point = 2.3;
} else if (score >= 68 && score <= 71) {
point = 2.0;
} else if (score >= 64 && score <= 67) {
point = 1.5;
} else if (score >= 60 && score <= 63) {
point = 1.0;
} else if (score >= 0 && score < 60) {
point = 0;
} else {
point = -1;
}
printf("%.1f", point);
return 0;
}
```
代码思路:
1. 定义变量 score 和 point,前者用于存储输入的百分制成绩,后者用于存储转换后的 4 分制绩点成绩。
2. 从标准输入中读取一个整数,即百分制成绩,存储到变量 score 中。
3. 使用 if...else if 语句进行分支判断,根据百分制成绩的不同范围,将对应的 4 分制绩点成绩赋值给变量 point。
4. 如果输入的百分制成绩不在 0 到 100 的范围内,则将 point 赋值为 -1。
5. 最后使用 printf 函数输出转换后的 4 分制绩点成绩,保留一位小数。
6. 程序结束。
希望这个代码可以帮到你!
阅读全文