如何完成以下要求输入的第一行包含一个整数 t (1 ≤ t ≤ 104)表示测试用例的数量。 每个测试的描述由一行包含一个整数 n 表示某同学上学年的平均学分绩点 (1.0 <= n < 5.0). 输出格式对于每个测试用例,输出一行,表示该同学所能评的奖学金。 若能评特等奖学金则输出"special scholarship", 若能评一等奖学金则输出"first-class scholarship", 若能评二等奖学金则输出"second-class scholarship", 若能评三等奖学金则输出"third-class scholarship", 若不能评奖学金则输出"none"。请用c语言编写程序
时间: 2023-07-19 12:08:41 浏览: 169
Java 第十一届 蓝桥杯 省模拟赛 反倍数
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
int main() {
int t;
float n;
scanf("%d", &t); // 输入测试用例的数量
for (int i = 0; i < t; i++) {
scanf("%f", &n); // 输入某同学上学年的平均学分绩点
if (n >= 4.0) {
printf("special scholarship\n");
} else if (n >= 3.5) {
printf("first-class scholarship\n");
} else if (n >= 3.0) {
printf("second-class scholarship\n");
} else if (n >= 2.5) {
printf("third-class scholarship\n");
} else {
printf("none\n");
}
}
return 0;
}
```
这段代码首先输入测试用例的数量,然后使用 for 循环遍历每个测试用例。在每个测试用例中,输入某同学上学年的平均学分绩点,然后根据评定奖学金的条件,输出相应的奖学金等级或者 none。其中,注意使用 `%f` 格式符输入浮点数,使用 `\n` 换行输出。
阅读全文