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 语句,将起到意想不到的结果!
于是正确结果可以实现:
更多意见,请读者尽情提出!