程序填空题:根据 PTA 排名计算段位
以下程序根据 PTA 排名计算相应的段位,请补充完成该程序。已知系统内共有 `218` 名用户,排名与段位的对应关系如下:
* 排名前十,为”Excellent“;
* 排名前十之外,而又在前 30% 以内,为”Good“;
* 排名大于 30%,但是在 60% 以内,为”Qualified“;
* 剩余为”Come On!“
* 非法输入则输出”ERROR“
该程序不断接收用户的输入,依次根据输入输出相应的段位,直到用户输入 `-1`。
```C
#include
int main()
{
int rank, total = 218;
do {
scanf("%d", &rank);
if(@@[rank == -1](1))
break;
if(@@[rank <= 0 || rank > total](2))
printf("ERROR\n");
else if(rank <= 10)
printf("Excellent\n");
else if(rank * 1.0 / total <= 0.3)
printf("Good\n");
else if(@@[rank * 1.0 / total <= 0.6](2))
printf("Qualified\n");
else
printf("Come On!\n");
} while(1);
return 0;
}
```
答案:
第1空:rank == -1
第2空:rank <= 0 || rank > total
第3空:rank * 1.0 / total <= 0.6
* 排名前十,为”Excellent“;
* 排名前十之外,而又在前 30% 以内,为”Good“;
* 排名大于 30%,但是在 60% 以内,为”Qualified“;
* 剩余为”Come On!“
* 非法输入则输出”ERROR“
该程序不断接收用户的输入,依次根据输入输出相应的段位,直到用户输入 `-1`。
```C
#include
int main()
{
int rank, total = 218;
do {
scanf("%d", &rank);
if(@@[rank == -1](1))
break;
if(@@[rank <= 0 || rank > total](2))
printf("ERROR\n");
else if(rank <= 10)
printf("Excellent\n");
else if(rank * 1.0 / total <= 0.3)
printf("Good\n");
else if(@@[rank * 1.0 / total <= 0.6](2))
printf("Qualified\n");
else
printf("Come On!\n");
} while(1);
return 0;
}
```
答案:
第1空:rank == -1
第2空:rank <= 0 || rank > total
第3空:rank * 1.0 / total <= 0.6