输入的第一行包含一个整数 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-13 17:10:16 浏览: 761
Java 第十一届 蓝桥杯 省模拟赛 反倍数
这是一道关于奖学金评定的问题,根据输入的学分绩点,输出对应的奖学金等级或者无法评奖的情况。我们可以使用 C 语言编写一个程序来解决这个问题。
代码如下:
```c
#include <stdio.h>
int main() {
int t;
scanf("%d", &t); // 读入测试用例数量
while (t--) {
double n;
scanf("%lf", &n); // 读入学分绩点
if (n >= 4.5) { // 特等奖学金
printf("special scholarship\n");
} else if (n >= 4.0) { // 一等奖学金
printf("first-class scholarship\n");
} else if (n >= 3.0) { // 二等奖学金
printf("second-class scholarship\n");
} else if (n >= 2.0) { // 三等奖学金
printf("third-class scholarship\n");
} else { // 无法评奖
printf("none\n");
}
}
return 0;
}
```
我们首先读入测试用例的数量,然后使用 while 循环读入每个测试用例中的学分绩点。根据学分绩点的大小,使用 if-else 语句判断对应的奖学金等级,并输出相应的结果。
注意,由于学分绩点是小数,所以需要使用 double 类型进行读入和判断。同时,输出的字符串需要使用双引号括起来,表示是一个字符串常量。
希望这个代码能够解决你的问题,如果还有其他问题,请随时提问。
阅读全文