牛客网刷题之:判断期末是否挂科问题
KiKi想知道这学期他的学习情况,BoBo老师告诉他这学期挂的科目累计的学分,根据所挂学分,判断KiKi学习情况,10分以上:很危险(Danger++),4~9分:危险(Danger),0~3:Good。
一行,一个整数(0~30),表示KiKi挂的科目累计的学分。
一行,根据输入的挂科学分,输出相应学习情况(Danger++,Danger,Good)。
- #include<stdio.h>
- int main()
- {
- int i = 0;
- scanf_s("%d", &i);
- if (i >=0 && i <= 3)
- printf("Good\n");
- if (i >= 4 && i <= 9)
- printf("Danger\n");
- else
- printf("Danger++\n");
- return 0;
- }
但是,这个代码运行出来的结果,却是。。。出乎意料之外:
按照道理来说,输入:0,应该出现Good,但是结果却出现了:Good Danger++;
但是,这个代码在牛客网提交时候,需要注意:if语句是否输入错误

然后,笔者思考了一下,发现:在最后面的:else printf("Danger++\n");语句块中。。。出现了错误;
于是改正的结果为:
- #include<stdio.h>
- int main()
- {
- int i = 0;
- scanf("%d", &i);
- if (i >= 0 && i <= 3)
- printf("Good\n");
- if (i >= 4 && i <= 9)
- printf("Danger\n");
- else if (i >= 10 && i <= 30)
- printf("Danger++\n");
- return 0;
- }
在这里多加入了一个 :else if 语句,将起到意想不到的结果!
于是正确结果可以实现:

更多意见,请读者尽情提出!