C语言输入一个学生的分数score(0<=score<=100,整数),按照如下规则输出等级。分数在85分及以上,对应等级为A;分数在60分及以上,85分以下,对应等级为B;分数在60分以下,对应等级为F。【输入格式】 一个整数,表示学生成绩。【输出格式】 一个字符,表示学生成绩等级。【输入样例】83 【输出样例】 B
时间: 2024-03-08 17:48:12 浏览: 157
以下是代码实现:
```c
#include <stdio.h>
int main(void) {
int score;
scanf("%d", &score);
if(score >= 85) {
printf("A");
} else if(score >= 60) {
printf("B");
} else {
printf("F");
}
return 0;
}
```
根据输入的分数,使用 if-else 分支结构判断其等级并输出相应的字符。
相关问题
C语言学校课程考核成绩与绩点关系如下: 一门课程的成绩在 60 分 (不含 60 分)以下不能获得学分,也不能进行学分绩点的计算, 60 ~ 100 分之间按下试计算: 注:在本题中成绩在 60 分以下的课程成绩绩点为 0. 每学年结束应计算学生的平均学分绩点,计算方法如下: 其中: 输入格式 第一行一个整数 t(1 <= t <= 100) 代表测试用例组数。每组测试用例包含三行: 每组测试样例第一行一个整数 n (1 <= n <= 30)表示该学年课程总数, 第二行有 n 个小数 a1, a2, ... , an (0.1 <= ai <= 10.0)表示第 i 门课程的学分数。 第三行有 n 个整数 b1, b2, ... , bn (0 <= bi <= 100)表示第 i 门课程的成绩。 输出格式 对于每组测试用例,输出 n 行每行一个整数代表其该学年平均学分绩点。(结果保留两位小数)
下面是一个可以解决此问题的 C 语言程序:
```c
#include <stdio.h>
float get_gpa(int score) {
if (score < 60) {
return 0.0;
} else if (score <= 63) {
return 1.0;
} else if (score <= 67) {
return 1.5;
} else if (score <= 71) {
return 2.0;
} else if (score <= 74) {
return 2.3;
} else if (score <= 77) {
return 2.7;
} else if (score <= 81) {
return 3.0;
} else if (score <= 84) {
return 3.3;
} else if (score <= 89) {
return 3.7;
} else {
return 4.0;
}
}
int main() {
int t; // 测试用例组数
scanf("%d", &t);
while (t--) {
int n; // 课程总数
scanf("%d", &n);
float credits[n]; // 学分
int scores[n]; // 成绩
// 输入每门课程的学分和成绩
for (int i = 0; i < n; i++) {
scanf("%f", &credits[i]);
}
for (int i = 0; i < n; i++) {
scanf("%d", &scores[i]);
}
float total_credit = 0.0; // 总学分
float total_gpa = 0.0; // 总绩点
// 计算总学分和总绩点
for (int i = 0; i < n; i++) {
float gpa = get_gpa(scores[i]);
total_credit += credits[i];
total_gpa += gpa * credits[i];
}
// 计算平均学分绩点并输出
float avg_gpa = total_gpa / total_credit;
printf("%.2f\n", avg_gpa);
}
return 0;
}
```
注意,此程序中的 `get_gpa()` 函数根据成绩计算绩点,实际情况中可能会有所不同,需要根据学校的规定进行调整。另外,由于本题要输出多组结果,需要使用一个循环语句来进行多次输入和输出。
计算平均绩点c语言第一行一个整数 t(1 <= t <= 100) 代表测试用例组数。每组测试用例包含三行: 每组测试样例第一行一个整数 n (1 <= n <= 30)表示该学年课程总数, 第二行有 n 个小数 a1, a2, ... , an (0.1 <= ai <= 10.0)表示第 i 门课程的学分数。 第三行有 n 个整数 b1, b2, ... , bn (0 <= bi <= 100)表示第 i 门课程的成绩。
好的,你的问题是如何计算平均绩点,对吗?
平均绩点可以按照以下公式计算:
GPA = Σ(学分×绩点) / Σ学分
其中,Σ表示求和,学分是指每门课程的学分数,绩点是指每门课程的绩点,可以按照以下表格进行对应:
| 分数 | 绩点 |
| ---- | ---- |
| 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 |
| 0~59 | 0.0 |
根据上述公式和表格,我们可以编写如下的 C 语言代码实现平均绩点的计算:
```c
#include <stdio.h>
int main() {
int t;
scanf("%d", &t);
while (t--) {
int n, credit[30], score[30];
double gpa = 0, total_credit = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &credit[i]);
total_credit += credit[i];
}
for (int i = 0; i < n; i++) {
scanf("%d", &score[i]);
if (score[i] >= 90) {
gpa += 4.0 * credit[i];
} else if (score[i] >= 85) {
gpa += 3.7 * credit[i];
} else if (score[i] >= 82) {
gpa += 3.3 * credit[i];
} else if (score[i] >= 78) {
gpa += 3.0 * credit[i];
} else if (score[i] >= 75) {
gpa += 2.7 * credit[i];
} else if (score[i] >= 72) {
gpa += 2.3 * credit[i];
} else if (score[i] >= 68) {
gpa += 2.0 * credit[i];
} else if (score[i] >= 64) {
gpa += 1.5 * credit[i];
} else if (score[i] >= 60) {
gpa += 1.0 * credit[i];
}
}
printf("%.2lf\n", gpa / total_credit);
}
return 0;
}
```
其中,t 表示测试用例组数,n 表示每组测试用例中课程的总数,credit 数组用于存储每门课程的学分数,score 数组用于存储每门课程的成绩,gpa 表示总绩点,total_credit 表示总学分。程序通过循环读入每组测试用例的数据,并按照上述公式和表格进行计算,最终输出平均绩点。
阅读全文